大家好,我是小面,今天给大家分享一下如何在Java中使用几何图形。
虽然工作中很少用到,在某些场合还是有用,比如说Eclipse,IDEA 就是用java写的GUI,现在这个IDE不是还是很红么?也许到了2050年,还是用这些软件,或者还会出很多java写的GUI软件,也并不是国内人写得少,就是没用的。
Java提供了Graphics2D类,用于在Java应用程序中呈现二维(2D)文本、形状和图像。这个类是java.awt包的一部分。此外,“形状”界面用于定义表示几何图形的对象。这些几何图形可以在“java.awt.geom”包中找到。
在本编程教程中,开发人员将学习如何使用Graphics2D类和Shape接口在Java中渲染几何2D图形。
如何在Java中创建形状
在Java中创建2D几何图形的第一步是向paint()函数提供Graphics参数。在paint(Graphics g)函数中,您可以调用特定2D对象的类。
以下部分描述了程序员如何使用Java绘制常见的几何图形。
如何在Java中画一条线
您可以使用drawLine(int x1,int y1,int x2,int y2)方法创建一条简单的直线。这将从坐标(x1,y1)到(x2,y2)绘制一条线。
例如:
代码语言:javascript复制g.drawLine(42, 55, 130, 25)
将绘制一条线,起点坐标X为x42,起点坐标y为55,终点坐标x为130,终点坐标y为25。
如何在Java中绘制矩形
要在Java应用程序中绘制矩形,需要使用drawRect(int x,int y,int width,int height)方法。此方法根据坐标(x,y)绘制具有给定宽度值和高度值的矩形,相对于容器对象:
代码语言:javascript复制 g.drawRect(100, 100, 40, 120); //矩形
上面的方法创建一个普通矩形(带尖边的矩形)。在某些情况下,程序员可能希望创建一个圆角矩形。在这种情况下,需要使用drawRoundRect(int x,int y,int width,int height,int arcWidth,intarcHeight)方法。
以下是如何使用此方法的几个示例:
代码语言:javascript复制g.drawRoundRect(100, 100, 40, 120, 35, 35);
g.drawRoundRect(100, 100, 40, 120, 0, 0);
特别注意第二个例子。当archWidth和arcHeight为0时,将得到一个普通矩形。
还可以使用setColor()方法设置矩形的边框颜色。
如果要用给定的颜色填充矩形,那么除了setColor()之外,还需要使用fillRect(int x,int y,int width,int height)方法。
对于圆角矩形,可以使用fillRoundRect(int x,int y,int width,int height,int arcWidth,intarcHeight)。
下面是一些示例代码,演示如何使用drawRect()在Java中创建形状:
代码语言:javascript复制import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
class GeometricShape extends JPanel{
public static void main(String args[]){
JFrame frame = new JFrame();
frame.getContentPane().add(new GeometricShape());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setSize(450,450);
frame.setVisible(true);
}
public void paint(Graphics g) {
g.drawRect(100, 100, 40, 120);
g.setColor(Color.green);
g.fillRect(120, 120, 40, 60);
}
}
如果在idea中运行此命令,将得到以下输出:
如何在Java中绘制圆或曲线
Java中的drawArc(int x,int y,int width,int height,int startAngle,int arcAngle)方法允许开发人员绘制曲线或圆。该方法允许程序员绘制一条由给定宽度和高度的矩形限定的曲线(或圆)。
以下是60度弧的示例:
代码语言:javascript复制drawArc(45, 75, 90, 150, 0, 60)
如果要绘制一个圆,则arcAngle需要为360度,宽度值应等于高度。startAngle可以是任何角度。为避免混淆,可以使用startAngle 0。例如:
代码语言:javascript复制drawArc(45, 75, 150, 150, 0, 360)
如何在Java中绘制椭圆
drawOval(int x,int y,int width,int height)方法允许您绘制绑定在给定宽度和高度的矩形中的椭圆、圆或椭圆。
您可以使用各种整数值来查看使用drawOval()得到的形状。值得一提的是,如果您希望创建一个圆,宽度值应等于高度。
用Java绘制形状的最后思考
Java在Graphics类中提供了用于创建不同几何图形的方法。此类提供了创建二维对象的简单方法。但是,如果您希望对如何创建这些形状有更多的控制,那么可以考虑使用Graphics2D、Graphics的子类。