当前位置:首页 > 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环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

java前景如何

java前景如何

Java 当前的市场需求 Java 在企业级开发、大数据、云计算等领域仍占据重要地位。许多大型企业(如银行、电商平台)依赖 Java 构建后端系统。招聘平台数据显示,Java 开发岗位数量稳定,尤其在…

如何编译java

如何编译java

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证是否安装成功。若未安装,需从Oracl…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

如何成为java架构师

如何成为java架构师

掌握扎实的Java基础 深入理解Java核心知识,包括多线程、集合框架、JVM原理、设计模式等。熟悉Java生态中的常用框架如Spring、MyBatis、Hibernate等,并能分析其源码实现。…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…