在当今社会,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工具网。
推荐阅读: