java绘图

java绘图坐标体系

1.在java坐标系中,第一个是x坐标,表示当前位置为水平方向。距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。

2.像素点越多描述的图像信息也越多,更多的去展示图像

3.计算机的屏幕上显示的内容都是由屏幕上的每一个像素组成的。例如400×300;表示计算机屏幕上的每一行由400个点组成,共有300行。整个计算机屏幕共有320000个像素,像素是一个密度单位。

绘图入门和机制

java绘图技术绘图原理

√Component类提供了两个和绘图相关最重要的方法:

1.paint(Graphics g)绘制组件的外观

2.repaint()刷新组件的外观。

√当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件。

√在以下情况paint()将会被调用:

1.窗口最小化再最大化

2.窗口的大小发生变化

3.repaint方法被调用

public class Draw01 extends JFrame{//设置框架
​
    //定义一个画板
    private MyPanel01 mp = null;
    public static void main(String[] args) {
​
        //创建对象实例
        new Draw01();
​
​
    }
    //构造器
    public Draw01(){
        //初始化画板
        mp = new MyPanel01();
        //把面板放入画框里
        this.add(mp);
        //设置画框带下
        this.setSize(800,600);
        //设置显示
        this.setVisible(true);
        //设置点击 × 就退出程序(画框)
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
​
    }
​
}
​
//定义MyPanel01类,继承JPanel;画板
class MyPanel01 extends JPanel{
​
    @Override
    public void paint(Graphics g) {
        super.paint(g);
​
        //画的内容;不同的类型
        //1.圆或椭圆
        g.drawOval(50,50,150,150);
        //2.直线
        g.drawLine(50,50,100,100);
        //3.矩形边框
        g.drawRect(50,50,100,100);
        //4.填充矩形
        //设置画笔颜色
        g.setColor(Color.pink);
        g.fillRect(10,10,40,40);
        //5.填充椭圆
        g.setColor(Color.ORANGE);
        g.fillOval(120,120 ,50,40);
        //6.填充图片
        Image image =               Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/qq.png")); 
        g.drawImage(image,200,0,300,200,this);
        //7.画字符串 
        //设置画笔颜色
        g.setColor(Color.red);
        //设置字体和姿态以及大小
        g.setFont(new Font("宋体",Font.BOLD,25));
        //画字符串
        g.drawString("Letting go",300,300);
        
    }
}

绘图方法 Graphics类, 可以理解就是画笔,为我们提供了各种绘制图形的方法:

1.画直线 drawLine(int x1,int y1,int x2,int y2)

2.画矩形边框drawRect(int x, int y, int width, int height)

3.画椭圆边框drawOval(int x, int y, int width, int height)

4.填充矩形 fillRect(int x, int y, int width, int height)

5.填充椭圆fillOval(int x, int y, int width, int height)

6.画图片drawlmage(lmage img, int x, int y. ..)

7.画字符串drawString(String str, int x, int y)

8.设置画笔的字体setFont(Font font)

9.设置画笔的颜色 setColor(Color c)

//如何在面板上画圆
public class DrawCircle extends JFrame{//4.JFrame  对应窗口(相当于一个画框)
​
    //5.定义一个面板
    private MyPanel mb = null;
​
    public static void main(String[] args) {
        new DrawCircle();//7.创建对象实例
​
​
    }
    public DrawCircle(){//6.构造器
        //1)初始化面板
        mb = new MyPanel();
        //2)把面板放入到窗口(画框)
        this.add(mb);
        //3)设置画框大小
        this.setSize(400,300);
        //5)当点击窗口的 × ,程序就完全退出
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //4)设置显示
        this.setVisible(true);
​
    }
​
}
​
//1.先定义一个MyPanel类,继承JPanel类,画图在面板上
class MyPanel extends JPanel{
​
    /*说明:
    *1.MyPanel  对象相当于是一个画板
    *2.g    相当于画笔
    *3.Graphics提供了许多的绘画方法
    *  */
​
    @Override
    public void paint(Graphics g) {//2.绘图方法
        super.paint(g);//调用父类的方法完成初始化
        g.drawOval(100,50,100,100);//3.x=100,y=50,width=100,height=100;
        
    }
}

你可能感兴趣的:(java基础语言,java)