在当今社会,java的使用越来越广泛,今天就来为大家介绍一些基础知识,在java中如何绘图以及Graphics类的含义是什么。一起来看看吧。
(相关资料图)
一、首先说一下java的绘图技术。
1.坐标原点位于左上角,以像素为单位。像素是计算机屏幕上最小的显示单位。在java的坐标系中,第一个是X坐标,表示当前位置为水平方向,距离坐标原点X个像素;第二个是Y坐标,表示当前位置为垂直方向,距离坐标原点Y个像素。图片如下所示:
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);
}
}
图片如下:
以上就是关于在java中如何绘图以及Graphics类是什么意思的主要内容。想要了解更多java基础以及常见问题,敬请关注奇Q工具网。