在java中如何绘图?Graphics类是什么意思?

BSO 2020-09-15 08:57:06 java常见问答 6797

在当今社会,java的使用越来越广泛,今天就来为大家介绍一些基础知识,在java中如何绘图以及Graphics类的含义是什么。一起来看看吧。

一、首先说一下java的绘图技术。

1.坐标原点位于左上角,以像素为单位。像素是计算机屏幕上最小的显示单位。在java的坐标系中,第一个是X坐标,表示当前位置为水平方向,距离坐标原点X个像素;第二个是Y坐标,表示当前位置为垂直方向,距离坐标原点Y个像素。图片如下所示:

java中绘图

2.计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。比如说,计算机显示器的分辨率是800×600,这就表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480000个像素。当然,现在的计算机可以支持更高的分辨率,也就是说,屏幕上可以显示更多的像素。因此,像素是一个密度单位,而厘米是长度单位,这两者无法比较。

3.Component类提供了两个和绘图相关的最重要的方法:

⑴paint(Graphics g)绘制组件的外观;

⑵repaint()刷新组件的外观。

当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件,在以下情况paint()将会被调用:

⑴窗口最小化,再最大化;

⑵窗口的大小发生变化;

⑶repaint函数被调用。

二、接下来简述一下Graphics类

Graphics类可以理解为画笔,为我们提供了各种绘制图形的方法:

⑴画直线drawLine(int x1, int y1, int x2, int y2);

⑵画矩形边框drawRect(int x, int y, int width, int height);

⑶画椭圆边框drawOval(int x, int y, int width, int height);

⑷填充矩形fillRect(int x, int y, int width, int height);

⑸填充椭圆fillOval(int x, int y, int width, int height);

⑹画图片drawImage(Image img, int x, int y,…);

⑺画字符串drawString(String str, int x, int y);

⑻设置画笔的字体setFont(Font font);

⑼设置画笔的颜色setColor(Color c);

代码展示如下:

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GraphicsTest extends JFrame
{
    // 定义组件
    MyPanel1 mp = null;
    public static void main(String[] args)
    {
        new GraphicsTest();
    }
    public GraphicsTest()
    {
        // 构建组件
        mp = new MyPanel1();
        // 加入组件
        this.add(mp);
        // 设置窗体
        this.setSize(400, 300);
        this.setVisible(true);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
/**
 * @Description: 定义一个MyPanel(我自己的面板是用于绘图和显示绘图的区域)
 */
class MyPanel1 extends JPanel
{
    private static final long serialVersionUID = 1 L;
    // 重写(覆盖)JPanel的paint方法
    public void paint(Graphics g)
    {
        // 1、调用父类函数,完成初始化任务
        super.paint(g);
        // 画一个直线
        g.drawLine(10, 10, 40, 10);
        // 画矩形边框
        g.drawRect(50, 50, 40, 40);
        // 画椭圆边框
        g.drawOval(130, 130, 60, 60);
        // 画填充矩形
        g.setColor(Color.blue);
        g.fillRect(10, 150, 70, 70);
        // 画填充椭圆
        // 设置画笔颜色
        g.setColor(Color.red);
        g.fillOval(270, 140, 100, 80);
        // 如何画出字
        g.setColor(Color.red);
        g.setFont(new Font("黑体", Font.BOLD, 40));
        g.drawString("祖国万岁", 150, 100);
        // 画弧形
        g.drawArc(100, 100, 120, 200, 50, 100);
    }
}

图片如下:

Graphics类的含义

以上就是关于在java中如何绘图以及Graphics类是什么意思的主要内容。想要了解更多java基础以及常见问题,敬请关注奇Q工具网。

推荐阅读:

java中Excel使用图形的操作方法,图片展示

编写程序打印以下图形菱形,java代码输出菱形图案

java对象和类有什么区别?