在Java中,绘制图形通常可以使用Swing库中的JPanel类来实现。以下是一个简单的例子,展示如何在一个面板上绘制四行四个不同的图形。我们将使用Graphics类来绘制这些图形。
首先,你需要创建一个继承自JPanel的类,并在其paintComponent方法中添加绘制代码。这里,我们将绘制四个基本的图形:矩形、圆形、三角形和星形。
import javax.swing.*;
import java.awt.*;
public class FourShapesPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
drawShapes(g);
}
private void drawShapes(Graphics g) {
// 设置画笔颜色
g.setColor(Color.BLACK);
// 第一行
drawRectangle(g, 50, 50, 100, 100);
drawCircle(g, 200, 50, 50);
// 第二行
drawTriangle(g, 350, 50, 50);
drawStar(g, 500, 50, 50);
// 第三行
drawCircle(g, 50, 200, 50);
drawRectangle(g, 200, 200, 100, 100);
// 第四行
drawStar(g, 350, 200, 50);
drawTriangle(g, 500, 200, 50);
}
private void drawRectangle(Graphics g, int x, int y, int width, int height) {
g.drawRect(x, y, width, height);
}
private void drawCircle(Graphics g, int x, int y, int radius) {
g.drawOval(x, y, radius * 2, radius * 2);
}
private void drawTriangle(Graphics g, int x, int y, int size) {
int[] xPoints = {x, x + size, x + size / 2};
int[] yPoints = {y, y, y + size};
g.drawPolygon(xPoints, yPoints, 3);
}
private void drawStar(Graphics g, int x, int y, int size) {
int[] xPoints = {x, x + size, x + size / 2, x, x + size / 2, x + size};
int[] yPoints = {y, y, y - size / 2, y - size, y - size / 2, y};
g.drawPolygon(xPoints, yPoints, 6);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Four Shapes Drawing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 400);
frame.add(new FourShapesPanel());
frame.setVisible(true);
}
}
这段代码创建了一个FourShapesPanel类,它绘制了四个图形。每个图形的位置和大小都是通过参数传递给绘制方法的。main方法创建了一个窗口,其中包含这个面板。
- 矩形:使用
drawRectangle方法绘制,它接受左上角坐标、宽度和高度作为参数。 - 圆形:使用
drawCircle方法绘制,它接受圆心坐标和半径作为参数。 - 三角形:使用
drawTriangle方法绘制,它接受三个顶点的坐标。 - 星形:使用
drawStar方法绘制,它也接受三个顶点的坐标。
这个例子非常基础,但它展示了如何在Java中绘制简单的图形。你可以根据需要调整颜色、大小和位置,以创建更复杂的图形。
