Java画图2
public class PaintUtil2 extends JPanel{
/**
* 画图
*/
private static final long serialVersionUID = -898711734428727206L;
private static BufferedImage image;
static {
image = loadImage("background.png");
}
/** 读取图片 */
public static BufferedImage loadImage(String fileName) {
try {
BufferedImage img = ImageIO.read(PaintUtil2.class.getResource(fileName)); //同包下读取图片
System.out.println(img);
return img;
}catch(Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
}
/** 重写paint()画 g:画笔 */
public void paint(Graphics g) {
g.drawImage(image, 0, 0, null);//在坐标(0,0)处画图,先画图再写字,不然会覆盖
g.setColor(Color.red);//设置颜色
g.drawString("abcde", 111, 111 );//打字
g.drawString("ABCDE", 300, 330);
}
public static void main(String[] args) {
JFrame frame = new JFrame("打飞机");
PaintUtil2 pu = new PaintUtil2();//要求PaintUtil2类是继承 JPanel父类
frame.add(pu);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 600);
frame.setLocationRelativeTo(null); //中间
frame.setVisible(true); //1)设计窗口可见 2)尽快调用paint()
}
}
结果: