36.1 坐标体系-介绍
36.2 坐标体系-像素
计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。像素是一个密度单位,与长度单位无法比较
36.3 Java绘图技术
Component 类提供了两个和绘图相关最重要的方法:
-
paint(Graphics g)
绘制组件的外观 -
repaint()
刷新组件的外观
当组件第一次在屏幕上显示的时候,程序会自动的调用 paint()
方法来绘制组件
在以下情况paint()
将会被调用:
- 窗口最小化,再最大化
- 窗口的大小发生变化
- repaint 方法被调用
实例:
// JFrame对应窗口,可以理解成是一个画框
public class TestDraw extends JFrame{
public static void main(String[] args) {
new TestDraw();
}
public TestDraw(){
//初始化画板
MyPanel mp = new MyPanel();
//把画板放入到窗口(窗口)
this.add(mp);
//设置窗口大小
this.setSize(400,300);
//当点击窗口的大小x,程序完全退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//可以显示
this.setVisible(true);
}
}
//先定义一个MyPanel,继承JPanel类,画图形,就在画板上画
class MyPanel extends JPanel {
/*
* 说明:
* 1.MyPanel 对象就是一个画板
* 2.Graphics g 把 g 理解成一支笔
* 3.Graphics 提供了很多绘图方法
* */
// 绘图方法
@Override
public void paint(Graphics g) {
super.paint(g);//调用父类方法完成初始化
//调用绘制图形方法
g.drawOval(10,10,100,100);
...
}
}
36.4 Graphics类
Graphics 类可以理解为画笔,提供了各种绘制图形的方法
- 画直线
drawLine(int x1,int y1,int x2,int y2)
- 画矩形边框
drawRect(int x,int y,int width,int height)
- 画椭圆边框
drawOval(int x,int y,int width,int height)
- 填充矩形
fillRect(int x,int y,int width,int height)
- 填充椭圆
fillOval(int x,int y,int width,int height)
- 画图片
drawImage(Image img,int x,int y,..)
- 画字符串
drawString(String str,,int x,int y)
- 设置画笔的字体
setFont(Font font)
- 设置画笔的颜色
setColor(Color c)