界面方面的问题
首先是要在JFrame窗体上画条直线,是怎么处理的?
其次还有个问题是,在窗体上面添加一张背景图片,是怎么添加的?
麻烦各位抽空解决下这个问题,谢谢! --------------------编程问答-------------------- 孩子,回头是岸,学JAVA EE或者安卓吧,JAVA SE已经死了 --------------------编程问答--------------------
import javax.swing.*;--------------------编程问答-------------------- 用的JLable直接在上面加图片岂不是更好 --------------------编程问答-------------------- 在jframe上画line 和 图片的例子
import java.awt.*;
public class Hello extends JPanel {
private Image backgroundImage = null;
public Hello() {
String path = "/Users/Biao/Desktop/x.png"; // 背景图片的地址
backgroundImage = new ImageIcon(path).getImage(); // 加载背景图片
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// 绘制背景
g2d.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), null);
// 画线
g2d.setColor(Color.RED);
g2d.drawLine(0, 0, getWidth(), getHeight());
}
private static void createGuiAndShow() {
JFrame frame = new JFrame("");
frame.getContentPane().add(new Hello());
// Set frame's close operation and location in the screen.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
createGuiAndShow();
}
}
--------------------编程问答-------------------- drawImage 、drawLine 建议去看swing的API --------------------编程问答-------------------- 楼主百度了吗? 这种问题百度就可以解决 并且很效率 --------------------编程问答-------------------- 支持这个 --------------------编程问答--------------------
import javax.swing.*;
import java.io.*;
import java.awt.image.*;
import java.awt.*;
import java.net.URL;
import javax.imageio.ImageIO;
public class DrawOnFrame extends JFrame
{
//要画的图片
BufferedImage img = null;
public DrawOnFrame()
{
setBounds(0,0,800,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
//我们用URL得到二楼的头像图片,
try
{
URL url = new URL("http://avatar.profile.csdn.net/0/3/5/1_leo2115339.jpg");
img = ImageIO.read(url.openStream());
}
catch (Exception e)
{
e.printStackTrace();
}
repaint();
}
//在paintComponent里面画
@Override
public void paint(Graphics g)
{
//super.paintComponent(g);
//画直线的起点 和 终点
if (img!=null)
{
g.setColor(Color.RED);
//任意图画最先话,就是背景,和油画一样,一层一层
g.drawImage(img,100,100,img.getWidth(),img.getHeight(),null);
g.drawLine(100,100,300,300);
}
}
public static void main(String[] args)
{
new DrawOnFrame();
System.out.println("Hello World!");
}
}
这SE还是先得学学的吧。乃不要打击人家的信心嘛。虽然我也觉得GUI没太大市场。
补充:Java , Java SE