Graphics中可画的图形
graphics中可以画出的简单图形以及相关函数
图形 | 调用的函数 | 说明 |
划线 |
| 在(x1,y1)与(x2,y2)之间画出一条直线,当然两个坐标相等就是点 |
矩形 | drawRect(int x,int y,int width,int height) | x,y是其左上角的位置,其他是矩形的长和宽 |
fillRect(int x,int y,int width,int height) | 利用此方法可以对矩形的颜色进行填充 | |
圆角矩形 | drawRoundRect(int x,int y,int width, int height, int arcWidth, int arcHeight) | 是用线围起来的圆角矩形。其中参数x和y指定矩形左上角的位置;参数width和heigth是矩形的宽和高;arcWidth和arcHeight分别是圆角弧的横向直径和圆角弧的纵向直径。 |
fillRoundRect(int x,int y,int width,int height,int arcWidth,int archeight) | 是用预定的颜色填充的圆角矩形。各参数的意义同前一个方法 | |
三维矩形 | draw3DRect(int x,int y,int width,int height, boolean raised) | 画一个突出显示的矩形。其中x和y指定矩形左上角的位置,参数width和height是矩形的宽和高,参数raised是突出与否 |
fill3DRect(int x,int y,int width,int height,boolean raised) | 用预定的颜色填充一个突出显示的矩形 | |
圆弧 | drawArc(int x,int y,int width,int height,int startAngle, int arcAngle) | 椭圆的中心是它的外接矩形的中心,其中参数是外接矩形的左上角坐标(x,y),宽是width,高是heigh。参数startAngle的单位是 “度”,起始角度0度是指3点钟方位.参数startAngle和arcAngle表示从startAngle角度开始,逆时针方向画arcAngle度的弧,约定,正值度数是逆时针方向,负值度数是顺时针方向,例如-90度是6点钟方位。 |
fillArc(int x,int y,int width, int height, int startAngle, int arcAngle) | 用setColor()方法设定的颜色,画着色椭圆的一部分 | |
椭圆 | drawOval(int x, int y, int width, int height) | 用线条围起来的椭圆 |
fillOval(int x, int y, int width, int height) | 可以填充颜色 |
上述代码举例:
划线代码
import javax.swing.*;
import java.awt.*;
class Test1 extends JPanel {
@Override
public void paintComponent(Graphics g){//绘制一个蓝色的直线
g.setColor(Color.blue);
g.drawLine(50,50,100,100);
}
}
public class Test {
public static void main(String[] args) {
//定义JFrame以及题目
JFrame test=new JFrame("小测试");
//定义关闭方式
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//定义大小
test.setSize(400,400);
//定义屏幕相对位置
test.setLocation(200,200);
//定义为图形可见
test.setVisible(true);
//重要一步!!!,将含有类加入到JFrame中
test.add(new Test1());
}
}
矩形代码
import javax.swing.*;
import java.awt.*;
class Test1 extends JPanel {
@Override
public void paintComponent(Graphics g){//绘制一个蓝色的方框,位置在x轴20,y轴50处
g.setColor(Color.blue);
g.drawRect(0,10,50,100);
}
}
public class Test {
public static void main(String[] args) {
//定义JFrame以及题目
JFrame test=new JFrame("小测试");
//定义关闭方式
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//定义大小
test.setSize(400,400);
//定义屏幕相对位置
test.setLocation(200,200);
//定义为图形可见
test.setVisible(true);
//重要一步!!!,将含有类加入到JFrame中
test.add(new Test1());
}
}
圆角矩形
(ps:作者比较懒,两种方式写到一起去喽)
import javax.swing.*;
import java.awt.*;
class Test1 extends JPanel {
@Override
public void paintComponent(Graphics g){
g.setColor(Color.blue);
g.drawRoundRect(0,0,200,100,50,50);
g.fillRoundRect(100,100,200,50,20,20);
}
}
public class Test {
public static void main(String[] args) {
//定义JFrame以及题目
JFrame test=new JFrame("小测试");
//定义关闭方式
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//定义大小
test.setSize(400,400);
//定义屏幕相对位置
test.setLocation(200,200);
//定义为图形可见
test.setVisible(true);
//重要一步!!!,将含有类加入到JFrame中
test.add(new Test1());
}
}
三维矩形代码
ps:两个方式在一起写了
import javax.swing.*;
import java.awt.*;
class Test1 extends JPanel {
@Override
public void paintComponent(Graphics g){
g.setColor(Color.blue);
g.draw3DRect(80,100,40,25,true);
g.setColor(Color.yellow);
g.fill3DRect(20,70,20,30,true);
}
}
public class Test {
public static void main(String[] args) {
//定义JFrame以及题目
JFrame test=new JFrame("小测试");
//定义关闭方式
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//定义大小
test.setSize(400,400);
//定义屏幕相对位置
test.setLocation(200,200);
//定义为图形可见
test.setVisible(true);
//重要一步!!!,将含有类加入到JFrame中
test.add(new Test1());
}
}
圆弧代码
import javax.swing.*;
import java.awt.*;
class Test1 extends JPanel {
@Override
public void paintComponent(Graphics g){
//画圆弧线
g.drawArc(10,40,90,50,0,180);
//填充缺右上角的四分之三的椭圆
g.setColor(Color.yellow);
g.fillArc(10,100,40,40,0,-270);
}
}
public class Test {
public static void main(String[] args) {
//定义JFrame以及题目
JFrame test=new JFrame("小测试");
//定义关闭方式
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//定义大小
test.setSize(400,400);
//定义屏幕相对位置
test.setLocation(200,200);
//定义为图形可见
test.setVisible(true);
//重要一步!!!,将含有类加入到JFrame中
test.add(new Test1());
}
}
椭圆代码:
import javax.swing.*;
import java.awt.*;
class Test1 extends JPanel {
@Override
public void paintComponent(Graphics g){
g.drawOval(10,40,90,50);
g.setColor(Color.yellow);
g.fillOval(10,100,40,70);
}
}
public class Test {
public static void main(String[] args) {
//定义JFrame以及题目
JFrame test=new JFrame("小测试");
//定义关闭方式
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//定义大小
test.setSize(400,400);
//定义屏幕相对位置
test.setLocation(200,200);
//定义为图形可见
test.setVisible(true);
//重要一步!!!,将含有类加入到JFrame中
test.add(new Test1());
}
}