-
绘制简单的图形
1. 创建画板
定义一个画板类,通过继承 JPanel 类来创建画板
2. 创建画笔
在画板类中调用 paint 方法,并传入一个 Graphics g 对象,通过对 g 对象的操作来实现画画的过程
3. 开始作画
调用 Graphics g 对象的方法在 paint 方法中作画
4. 创建画框
定义一个框架类,通过继承 JFrame 类来创建一个框架,让 JPanel 画板能够在此框架中显示出来
5. 初始化面板
在 JFrame 框架类中定义一个 JPanel 画板对象作为属性,并在 JFrame 类的构造方法中给 JPanel 画板对象开辟空间,即初始化面板
6. 将初始化好的面板放入画框
在 JFrame 框架类的构造方法中初始化好 JPanel 对象后,调用框架类继承过来的add方法,将 JPanel 对象加入到该框架类中
7. 设置画框格式
在构造方法中调用框架类继承过来的setSize方法、setVisiable方法、setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法来设置画框大小,是否可显示,按退出键退出程序等
8. 初始化框架
new 框架类就能显示内容了
代码演示:
// 第四步: 创建画框
public class DrawCircle extends JFrame {
private MyPanel mp;
public static void main(String[] args) {
// 第八步: 初始化框架
new DrawCircle();
}
public DrawCircle() {
// 第五步: 初始化面板
mp = new MyPanel();
// 第六步: 将初始化好的面板放入画框
this.add(mp);
// 第七步: 设置画框格式
this.setSize(400,300);
this.setVisible(true);
}
}
// 第一步: 创建画板
class MyPanel extends JPanel {
// 第二步: 创建画笔
@Override
public void paint(Graphics g) {
super.paint(g);
// 第三步: 开始作画
g.drawOval(10, 10, 100, 100);
}
}
运行结果:
-
paint 方法被调用的几种情况
1. 组件第一次显示
2. 窗口最小化再最大化
3. 窗口大小发生变化
4. repaint 方法主动刷新组件外观