第七章 图形用户界面
7.1绘图
1.坐标:
(1)GUI(图形用户界面)组件的左上角坐标默认为(0,0)
(2)从左上角到右下角,水平坐标x和垂直坐标y增加
(3)坐标的单位是像素
2.Graphics对象:
(1)专门管理图形环境。Graphics类是一个抽象类
(2)抽象类Graphics提供了一个与平台无关的绘图接口
(3)各平台上实现的Java系统将创建Graphics类的一个子类,来实现绘图功能,但这个子类对程序员是透明的
(4)在执行paint方法时,系统会传递一个指向特定平台的Graphics子类的图形对象g
3.颜色
4.字体
5.Graphics类
Graphics类常用方法:
eg:
import javax.swing.*;
import java.awt.*;
public class GraphicsTester extends JFrame {
public GraphicsTester(){
super("绘图学习");
setVisible(true);//显示窗口
setSize(480,250);//设置窗口大小
}
public void paint(Graphics g){
super.paint(g);
g.setFont(new Font("SansSerif",Font.BOLD,12));
g.setColor(Color.blue);
g.drawString("这是我绘制的字符串",20,50);
g.setFont(new Font("Serif",Font.ITALIC,14));
g.setColor(new Color(255,0,0));
g.drawString("这是我绘制的另一个字符串",250,50);
g.drawLine(20,60,460,60);
g.setColor(Color.GREEN);
g.drawRect(20,70,100,50);//绘制空心矩形
g.fillRect(130,70,100,50);//绘制实心矩形
g.setColor(Color.YELLOW);
g.drawRoundRect(240,70,100,50,50,50);//绘制空心圆角矩形
g.fillRoundRect(350,70,100,50,50,50);//绘制实心圆角矩形
g.setColor(Color.cyan);
g.draw3DRect(20,130,100,50,true);//绘制凸起效果空心矩形
g.fill3DRect(130,130,100,50,false);//绘制凹陷效果实心矩形
g.setColor(Color.PINK);
g.drawOval(240,130,100,50);//绘制空心椭圆
g.drawOval(350,130,100,50);//绘制实心椭圆
g.setColor(new Color(0,120,20));
g.drawArc(20,190,100,50,0,90);//绘制一段圆弧
g.fillArc(130,190,100,50,0,90);//绘制扇形
g.setColor(Color.BLACK);
int xValue[] ={250,280,290,300,330,310,320,290,260,270};
int yValue[] ={210,210,190,210,210,220,230,220,230,220};
g.drawPolygon(xValue,yValue,10);//绘制空心多边形
int xValue2[] ={360,390,400,410,440,420,430,400,370,380};
g.fillPolygon(xValue2,yValue,10);//绘制实心多边形
}
public static void main(String[] args) {
GraphicsTester application = new GraphicsTester();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
6.Graphics2D类