关于Java.Swing中Graphics 的应用(简单的一篇就够)

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

    }
}

 椭圆代码:

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

    }
}

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值