Graphics中可画的图形

 

graphics中可以画出的简单图形以及相关函数

图形

调用的函数

说明

划线

drawLine(int x1,int y1,int x2,int y2)        

在(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());

    }
}

java Graphics drawLine 粗细 java swing graphics_java

 椭圆代码:

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());

    }
}

java Graphics drawLine 粗细 java swing graphics_ide_02