一、基础
1、继承窗体或组件(JFrame、JPanel…….)。
2、必须重写窗体或组件的paint方法(目前只发现了这一种方法,只有在paint方法中才能绘画)。
3、调用paint方法中的Graphics g实现绘画。
代码如下:
public class MyJFrame extends JFrame{
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
g.drawString("123", 100, 100);
}
public static void main(String[] args) {
MyJFrame myJFrame=new MyJFrame();
myJFrame.setSize(500, 500);
myJFrame.setLocation(300, 200);
myJFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
myJFrame.setVisible(true);
}
}
二、实时更新
1、若需要实时更新绘画内容,则调用窗体或组件的repaint方法。
public class MyJFrame extends JFrame{
static int x=100;
static int y=100;
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
g.drawString("123", x, y);
}
public static void main(String[] args) {
MyJFrame myJFrame=new MyJFrame();
myJFrame.setSize(500, 500);
myJFrame.setLocation(300, 200);
myJFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
myJFrame.setVisible(true);
for(int i=0;i<20;i++){
x+=10;
y+=10;
myJFrame.repaint();
}
}
}
2、在JFrame中更新绘画画面发生闪烁时,使用JPanel可避免该情况。