HOWTO · Java
如何在 JavaFX 中繪製矩形
本教程演示瞭如何在 JavaFX 中繪製矩形。
本頁內容
在 JavaFX 中建立 Rectangle,設定位置、大小、填滿色彩與描邊,再將它加入由 Stage 顯示的 Scene。此形狀使用場景的座標系統,原點位於左上角。以下的 JavaFX 呼叫與屬性名稱示範如何在 JavaFX 專案中設定矩形。此範例環境所配置的 Java 執行環境未包含 JavaFX,因此無法在此編譯或執行圖形應用程式。
在 JavaFX 中繪製矩形
Rectangle 類別位於 javafx.scene.shape 套件中。x 和 y 屬性指定左上角的位置,width 和 height 則指定尺寸。這些屬性的值為 double。例如,大小為 800 × 400 個單位的場景,可以放置一個位置為 (200, 100)、寬度為 400、高度為 200 的矩形。
| 屬性 | 設定方法 | 說明 |
|---|---|---|
x |
setX(double) |
左上角的水平位置。 |
y |
setY(double) |
左上角的垂直位置。 |
width |
setWidth(double) |
矩形寬度。 |
height |
setHeight(double) |
矩形高度。 |
arcWidth |
setArcWidth(double) |
用來將角變圓的水平直徑。 |
arcHeight |
setArcHeight(double) |
用來將角變圓的垂直直徑。 |
JavaFX 範例會使用 rectangle.setX(200)、rectangle.setY(100)、rectangle.setWidth(400) 和 rectangle.setHeight(200)。使用 rectangle.setFill(Color.BLUE) 設定內部填滿色彩,並以 rectangle.setStroke(Color.LIGHTBLUE) 設定外框;rectangle.setStrokeWidth(8) 則控制外框粗細。將形狀加入 Group,建立具有所需尺寸與背景色彩的 Scene,再將場景指定給 Stage,並在應用程式的 start 方法中呼叫 stage.show()。類別需繼承 Application,並在 main 方法中呼叫 launch(args)。請在建置或啟動設定已提供 JavaFX 模組的 JavaFX 專案中執行此版本。
接下來的可執行 Java2D 程式會在記憶體中的影像繪製相同幾何圖形,並回報取樣位置的填滿色彩。它用來獨立示範位置與尺寸,不會執行或顯示 JavaFX 場景。
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
public class DrawRectangle {
public static void main(String[] args) {
System.setProperty("java.awt.headless", "true");
BufferedImage image = new BufferedImage(800, 400, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setColor(Color.BLUE);
graphics.fillRect(200, 100, 400, 200);
graphics.dispose();
Color sample = new Color(image.getRGB(250, 150));
System.out.printf("Rectangle: x=%d, y=%d, width=%d, height=%d%n", 200, 100, 400, 200);
System.out.printf("Sample fill: #%02X%02X%02X%n", sample.getRed(), sample.getGreen(), sample.getBlue());
}
}
Rectangle: x=200, y=100, width=400, height=200
Sample fill: #0000FF
若要將 JavaFX 形狀的角調整為圓角,請在設定尺寸後設定兩個弧度屬性:rectangle.setArcWidth(40) 和 rectangle.setArcHeight(40)。setArcWidth 控制水平方向的曲線直徑,setArcHeight 控制垂直方向的曲線直徑。兩者設為相同值時,角的弧度一致;設為不同值時,曲線會呈現較長的形狀。這些設定只會影響矩形的角,位置、整體尺寸、填滿色彩與外框設定則維持不變。