当前位置:首页 > Java

java如何画长方形

2026-03-18 23:40:51Java

使用Java绘制长方形的方法

在Java中绘制长方形可以通过多种方式实现,以下是几种常见的方法:

使用AWT和Swing绘制长方形

通过继承JPanel并重写paintComponent方法,可以使用Graphics类的drawRectfillRect方法绘制长方形。

import javax.swing.*;
import java.awt.*;

public class DrawRectangle extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        // 绘制空心长方形
        g.drawRect(50, 50, 200, 100);
        // 绘制实心长方形
        g.fillRect(300, 50, 200, 100);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("绘制长方形");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new DrawRectangle());
        frame.setSize(600, 300);
        frame.setVisible(true);
    }
}

使用JavaFX绘制长方形

JavaFX提供了Rectangle类,可以更方便地绘制长方形并设置样式。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class DrawRectangleFX extends Application {
    @Override
    public void start(Stage primaryStage) {
        Pane pane = new Pane();
        // 绘制空心长方形
        Rectangle rect1 = new Rectangle(50, 50, 200, 100);
        rect1.setFill(null);
        rect1.setStroke(Color.BLACK);
        // 绘制实心长方形
        Rectangle rect2 = new Rectangle(300, 50, 200, 100);
        rect2.setFill(Color.BLUE);

        pane.getChildren().addAll(rect1, rect2);
        Scene scene = new Scene(pane, 600, 300);
        primaryStage.setScene(scene);
        primaryStage.setTitle("绘制长方形");
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

使用Graphics2D绘制带样式的长方形

如果需要更复杂的样式(如虚线边框、渐变填充等),可以使用Graphics2D类。

java如何画长方形

import javax.swing.*;
import java.awt.*;

public class StyledRectangle extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        // 设置虚线边框
        float[] dashPattern = {10, 5};
        g2d.setStroke(new BasicStroke(2, BasicStroke.CAP_BUTT, 
                BasicStroke.JOIN_MITER, 10, dashPattern, 0));
        g2d.drawRect(50, 50, 200, 100);
        // 设置渐变填充
        GradientPaint gradient = new GradientPaint(300, 50, Color.RED, 
                500, 150, Color.YELLOW);
        g2d.setPaint(gradient);
        g2d.fillRect(300, 50, 200, 100);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("带样式的长方形");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new StyledRectangle());
        frame.setSize(600, 300);
        frame.setVisible(true);
    }
}

参数说明

  • drawRect(x, y, width, height):绘制空心长方形,xy为左上角坐标,widthheight为宽度和高度。
  • fillRect(x, y, width, height):绘制实心长方形,参数含义同上。
  • JavaFX的Rectangle类通过设置fillstroke属性控制填充和边框样式。

以上方法可以根据需求选择使用,AWT/Swing适用于简单的图形绘制,JavaFX适合更现代的UI开发,而Graphics2D提供了更丰富的图形样式控制。

标签: 长方形java
分享给朋友:

相关文章

java如何创建类

java如何创建类

创建类的基本语法 在Java中,类通过class关键字定义,语法如下: [访问修饰符] class 类名 { // 成员变量(属性) // 构造方法 // 成员方法 }…

java如何取绝对值

java如何取绝对值

取绝对值的方法 在Java中,取绝对值可以通过以下几种方式实现: 使用Math.abs()方法 Math.abs()是Java中最常用的取绝对值方法,适用于多种数据类型: int absolute…

php 实现 java md5

php 实现 java md5

在 PHP 中实现与 Java 相同的 MD5 哈希算法,关键在于确保编码和输出格式的一致性。以下是具体实现方法和注意事项: 确保字符串编码一致 Java 的 String.getBytes() 默…

java如何

java如何

以下是针对Java常见需求的解决方案整理,以模块化方式呈现: 基础环境配置 下载JDK并配置环境变量,官网提供最新版本。验证安装使用命令 java -version。IDE推荐IntelliJ ID…

如何用java

如何用java

使用Java进行开发 Java是一种广泛使用的编程语言,适用于多种应用场景,包括Web开发、移动应用开发、企业级应用等。以下是Java开发的基本步骤和常见应用场景。 安装Java开发环境 下载并安装…

java如何使用

java如何使用

安装Java开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…