Java绘图技术基础
1 public class Demo1 extends JFrame{ 2 MyPanel mp=null; 3 4 public static void main(String[] args){ 5 Demo1 demo=new Demo1(); 6 } 7 8 public Demo1(){ 9 mp=new MyPanel(); 10 this.add(mp); 11 this.setSize(400,300); 12 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 13 this.setVisible(true); 14 } 15 } 16 //定义一个MyPanel(我自己的面板,是用于绘图和显示绘图的区域) 17 class MyPanel extends JPanel{ 18 //覆盖JPanel的paint方法 19 public void paint(Graphics g){ //Graphics是绘图的重要类,可以理解成一只画笔 20 //1、调用父类函数完成初始化(不可少) 21 super.paint(g); 22 // System.out.println("paint被调用"); 23 g.drawOval(10, 10, 30, 30); //先画出一个圆 24 g.drawLine(10, 10,40, 40); // 画直线 25 g.drawRect(10, 10, 40, 60); //画矩形边框 26 27 g.setColor(Color.BLUE); //设置颜色 28 g.fillRect(70, 70, 40, 60); //填充矩形 29 30 g.setColor(Color.gray); 31 g.fillRect(150, 150, 30,40); 32 33 //在面板上画出图片 34 Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/imag_1")); 35 g.drawImage(im, 200, 200, 200, 150, this); //显示 36 //画出字体 37 g.setColor(Color.GREEN); 38 g.setFont(new Font("隶书",Font.BOLD,30)); 39 g.drawString("祖国万岁!", 100, 80); 40 41 } 42 }
1、Component类提供了两个和绘图相关最重要的方法
1)paint(Graphics g)绘制组件外观
2)repaint()刷新组件的外观
当组件第一次在屏幕显示时,程序会自动的调用paint()方法来绘制组件。
2、关于Graphics类
运行效果如下: