java如何矩形
Java 绘制矩形的方法
在 Java 中绘制矩形可以通过多种方式实现,以下是几种常见的方法:
使用 java.awt.Graphics 绘制矩形
Graphics 类提供了 drawRect 和 fillRect 方法,分别用于绘制空心矩形和填充矩形。
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawRectangle extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawRect(50, 50, 100, 80); // 绘制空心矩形 (x, y, width, height)
g.fillRect(200, 50, 100, 80); // 绘制填充矩形
}
public static void main(String[] args) {
JFrame frame = new JFrame("绘制矩形");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new DrawRectangle());
frame.setSize(400, 200);
frame.setVisible(true);
}
}
使用 java.awt.geom.Rectangle2D 绘制矩形
Rectangle2D 是一个抽象类,提供了更灵活的矩形绘制方式,可以通过 Rectangle2D.Double 或 Rectangle2D.Float 实例化。
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawRectangle2D extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
Rectangle2D rect = new Rectangle2D.Double(50, 50, 100, 80);
g2d.draw(rect); // 绘制空心矩形
}
public static void main(String[] args) {
JFrame frame = new JFrame("绘制矩形2D");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new DrawRectangle2D());
frame.setSize(400, 200);
frame.setVisible(true);
}
}
使用 javafx.scene.shape.Rectangle 绘制矩形
在 JavaFX 中,可以使用 Rectangle 类绘制矩形。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class DrawRectangleFX extends Application {
@Override
public void start(Stage primaryStage) {
Rectangle rect = new Rectangle(50, 50, 100, 80);
rect.setFill(Color.TRANSPARENT);
rect.setStroke(Color.BLACK);
Pane root = new Pane();
root.getChildren().add(rect);
Scene scene = new Scene(root, 300, 200);
primaryStage.setTitle("JavaFX 绘制矩形");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
使用 java.awt.Canvas 绘制矩形
Canvas 类提供了一个绘图区域,可以在其上绘制图形。

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class DrawRectangleCanvas {
public static void main(String[] args) {
JFrame frame = new JFrame("Canvas 绘制矩形");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
Canvas canvas = new Canvas() {
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.RED);
g.drawRect(50, 50, 100, 80);
}
};
frame.add(canvas);
frame.setVisible(true);
}
}
以上方法涵盖了从基本的 Graphics 到更高级的 Rectangle2D 和 JavaFX 的 Rectangle 类,可以根据具体需求选择合适的方式绘制矩形。






