一、Graphics简单实现
1、写一个自己的类继承JPanel,并重写paint方法:
//定义一个我的面板,用于绘图和实现绘图的区域
class MyPanel extends JPanel{
//覆盖JPanel 的paint方法
//Graphics是绘图的重要类,可以理解成是一支画笔
public void paint(Graphics g){
//1、调用父类函数完成初始化
//jdk1.4版之前这句话不能少,要不图像出不来,但是现在这句话没有也可以正常显示
//super.paint(g);
//画一个圆
g.drawOval(10, 10, 100, 100);
//g.repaint();//重新绘制
}
}
2、将写好的自己的面板放入到一个JFrame中,即可显示:
public class TestGraphics extends JFrame{
MyPanel mPanel = null;
public static void main(String[] args) {
TestGraphics testGraphics = new TestGraphics();
}
public TestGraphics() {
mPanel = new MyPanel();
this.add(mPanel);
this.setTitle("画一个圆");//设置标题
this.setSize(400, 200);//设置窗口大小
this.setLocation(300, 200);//设置相对于window界面的位置
this.setIconImage((new ImageIcon("images/work.png")).getImage());//设置窗体图标
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口保证JVM也退出,避免无谓的内存消耗
this.setVisible(true);//显示
}
}
二、Graphics类的一些常用的方法
1、画直线:drawLine(int x1,int y1,int x2,int y2);
x1、y1 起点坐标,x2、y2 终点坐标
2、画矩形边框:drawRect(int x1,int y1,int width,int height);
x1、y1 矩形左上角的位置,width、height 矩形的宽高
3、画椭圆边框:fillOval(int x1,int y1,int width,int height);
同上2
4、画填充矩形:fillRect(int x1,int y1,int width,int height);
同上2
5、画填充椭圆:fillOval(int x1,int y1,int width,int height);
同上2
6、画图片:drawImage(Image img,int x1,int y1,int width,intheight,this);
Image image = Toolkit.getDefaultToolkit().getImage("images/work.png");//获取图片对象
img 图片对象,x1、y1 左上角位置,width、height图片宽高,this 画在哪里,this是指直接画在当前对象
7、画字符串:drawString(String str,int x,int y);
str 字符类型文本,x、y 左上角位置
8、设置画笔的字体:setFont(Font font);
g.setFont(new Font("华文彩云",Font.BOLD,50));//参数依次代表:字体类型、粗体、字体大小
9、设置画笔的颜色:setColor(Color c);
g.setColor(Color.red);//也可以new Color(255,0,0);之类的
10、画弧线 drawArc(int x,int y,int width,int height,int startAngle,int arcAngle)
自己理解:x、y 弧线左上角位置,width、height 先画出的圆的宽高,startAngle、arcAngle 要显示的圆的线的起始位置和结束角度,画弧线时先把线的起始结束位置分别设为0,360:g.drawArc(10, 10, 100, 200, 0, 360),再跟据显示出来的图像判断需要保留显示的弧线的起始和结束角度更改最后两位的参数
(官方解释:x、y 弧线左上角x.y坐标,width、height 要绘制的弧的宽高,startAngle起始角度、arcAngle 相对于起始角度的弧的角度范围
)