
- JavaFX 教程
- JavaFX - 首頁
- JavaFX - 概述
- JavaFX 安裝和架構
- JavaFX - 環境
- JavaFX - 使用 Netbeans 安裝
- JavaFX - 使用 Eclipse 安裝
- JavaFX - 使用 Visual Studio Code 安裝
- JavaFX - 架構
- JavaFX - 應用程式
- JavaFX 2D 形狀
- JavaFX - 2D 形狀
- JavaFX - 繪製直線
- JavaFX - 繪製矩形
- JavaFX - 繪製圓角矩形
- JavaFX - 繪製圓形
- JavaFX - 繪製橢圓
- JavaFX - 繪製多邊形
- JavaFX - 繪製折線
- JavaFX - 繪製三次貝塞爾曲線
- JavaFX - 繪製二次貝塞爾曲線
- JavaFX - 繪製弧形
- JavaFX - 繪製 SVGPath
- JavaFX 2D 物件的屬性
- JavaFX - 描邊型別屬性
- JavaFX - 描邊寬度屬性
- JavaFX - 描邊填充屬性
- JavaFX - 描邊屬性
- JavaFX - 描邊連線屬性
- JavaFX - 描邊斜接限制屬性
- JavaFX - 描邊端點屬性
- JavaFX - 平滑屬性
- JavaFX 路徑物件
- JavaFX - 路徑物件
- JavaFX - LineTo 路徑物件
- JavaFX - HLineTo 路徑物件
- JavaFX - VLineTo 路徑物件
- JavaFX - QuadCurveTo 路徑物件
- JavaFX - CubicCurveTo 路徑物件
- JavaFX - ArcTo 路徑物件
- JavaFX 顏色和紋理
- JavaFX - 顏色
- JavaFX - 線性漸變圖案
- JavaFX - 徑向漸變圖案
- JavaFX 文字
- JavaFX - 文字
- JavaFX 效果
- JavaFX - 效果
- JavaFX - 顏色調整效果
- JavaFX - 顏色輸入效果
- JavaFX - 影像輸入效果
- JavaFX - 混合效果
- JavaFX - 輝光效果
- JavaFX - 泛光效果
- JavaFX - 方框模糊效果
- JavaFX - 高斯模糊效果
- JavaFX - 運動模糊效果
- JavaFX - 反射效果
- JavaFX - 棕褐色效果
- JavaFX - 陰影效果
- JavaFX - 投影效果
- JavaFX - 內陰影效果
- JavaFX - 照明效果
- JavaFX - 遠光燈效果
- JavaFX - 聚光燈效果
- JavaFX - 點光源效果
- JavaFX - 位移對映
- JavaFX - 透視變換
- JavaFX 動畫
- JavaFX - 動畫
- JavaFX - 旋轉轉換
- JavaFX - 縮放轉換
- JavaFX - 平移轉換
- JavaFX - 淡入淡出轉換
- JavaFX - 填充轉換
- JavaFX - 描邊轉換
- JavaFX - 順序轉換
- JavaFX - 並行轉換
- JavaFX - 暫停轉換
- JavaFX - 路徑轉換
- JavaFX 影像
- JavaFX - 影像
- JavaFX 3D 形狀
- JavaFX - 3D 形狀
- JavaFX - 建立立方體
- JavaFX - 建立圓柱體
- JavaFX - 建立球體
- 3D 物件的屬性
- JavaFX - 剔除面屬性
- JavaFX - 繪製模式屬性
- JavaFX - 材質屬性
- JavaFX 事件處理
- JavaFX - 事件處理
- JavaFX - 使用便捷方法
- JavaFX - 事件過濾器
- JavaFX - 事件處理程式
- JavaFX UI 控制元件
- JavaFX - UI 控制元件
- JavaFX - ListView
- JavaFX - Accordion
- JavaFX - ButtonBar
- JavaFX - ChoiceBox
- JavaFX - HTMLEditor
- JavaFX - MenuBar
- JavaFX - Pagination
- JavaFX - ProgressIndicator
- JavaFX - ScrollPane
- JavaFX - Separator
- JavaFX - Slider
- JavaFX - Spinner
- JavaFX - SplitPane
- JavaFX - TableView
- JavaFX - TabPane
- JavaFX - ToolBar
- JavaFX - TreeView
- JavaFX - Label
- JavaFX - CheckBox
- JavaFX - RadioButton
- JavaFX - TextField
- JavaFX - PasswordField
- JavaFX - FileChooser
- JavaFX - Hyperlink
- JavaFX - Tooltip
- JavaFX - Alert
- JavaFX - DatePicker
- JavaFX - TextArea
- JavaFX 圖表
- JavaFX - 圖表
- JavaFX - 建立餅圖
- JavaFX - 建立折線圖
- JavaFX - 建立面積圖
- JavaFX - 建立條形圖
- JavaFX - 建立氣泡圖
- JavaFX - 建立散點圖
- JavaFX - 建立堆疊面積圖
- JavaFX - 建立堆疊條形圖
- JavaFX 佈局窗格
- JavaFX - 佈局窗格
- JavaFX - HBox 佈局
- JavaFX - VBox 佈局
- JavaFX - BorderPane 佈局
- JavaFX - StackPane 佈局
- JavaFX - TextFlow 佈局
- JavaFX - AnchorPane 佈局
- JavaFX - TilePane 佈局
- JavaFX - GridPane 佈局
- JavaFX - FlowPane 佈局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 中的媒體
- JavaFX - 處理媒體
- JavaFX - 播放影片
- JavaFX 有用資源
- JavaFX - 快速指南
- JavaFX - 有用資源
- JavaFX - 討論
JavaFX - 繪製直線
通常,直線是在多維平面(例如 XY 平面)上無限延伸的幾何結構。這種幾何圖形沒有起點和終點;也沒有可測量的尺寸,如寬度、深度等。儘管直線是一維物件,但它仍然可以存在於二維或更高維的平面中。
但是,具有起點和終點的直線段,稱為“線段”,在日常幾何中使用;這也是我們在本章中學習如何使用 JavaFX 建立的圖形。它繪製如下面的影像所示。

JavaFX 中的直線
在 JavaFX 中,直線或線段由名為Line的類表示。此類屬於javafx.scene.shape包。透過例項化此類,您可以在 JavaFX 中建立一個直線節點。
此類具有 4 個雙精度資料型別的屬性,即 -
startX - 直線起點的 x 座標。
startY - 直線起點的 y 座標。
endX - 直線終點的 x 座標。
endY - 直線終點的 y 座標。
要繪製直線,您需要將值傳遞給這些屬性,或者在例項化時按相同的順序將它們傳遞給此類的建構函式。
在 JavaFX 中繪製直線的步驟
請按照以下步驟在 JavaFX 中繪製直線。
步驟 1:建立直線
您可以透過例項化名為Line的類來在 JavaFX 中建立直線,該類屬於javafx.scene.shape包。如下所示例項化此類 -
//Creating a line object Line line = new Line();
請注意,實現 JavaFX 圖形的整個程式碼(包括 Line 類的例項化)必須寫在Application類的start()方法中,如下所示 -
public class ClassName extends Application { public void start(Stage primaryStage) throws Exception { // Write code here Line line = new Line(); } }
步驟 2:設定直線的屬性
透過使用其各自的 setter 方法設定屬性 startX、startY、endX 和 endY,指定在 XY 平面上繪製直線的座標,如下面的程式碼塊所示。
line.setStartX(100.0); line.setStartY(150.0); line.setEndX(500.0); line.setEndY(150.0);
步驟 3:將直線物件新增到 Group
透過將 Line 物件作為引數值傳遞給其建構函式,例項化javafx.scene包的Group類,如下所示 -
Group root = new Group(line);
步驟 4:啟動應用程式
建立 2D 物件後,請按照以下步驟正確啟動應用程式 -
首先,透過將 Group 物件作為引數值傳遞給其建構函式來例項化名為Scene的類。在此建構函式中,您還可以將應用程式螢幕的尺寸作為可選引數傳遞。
然後,使用Stage類的setTitle()方法設定舞臺的標題。
現在,使用名為Stage的類的setScene()方法將 Scene 物件新增到舞臺。
使用名為show()的方法顯示場景的內容。
最後,在launch()方法的幫助下啟動應用程式。
示例
以下是使用 JavaFX 生成直線的程式。將此程式碼儲存在名為DrawingLine.java的檔案中。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.Line; import javafx.stage.Stage; public class DrawingLine extends Application{ @Override public void start(Stage stage) { //Creating a line object Line line = new Line(); //Setting the properties to a line line.setStartX(100.0); line.setStartY(150.0); line.setEndX(500.0); line.setEndY(150.0); //Creating a Group Group root = new Group(line); //Creating a Scene Scene scene = new Scene(root, 600, 300); //Setting title to the scene stage.setTitle("Sample application"); //Adding the scene to the stage stage.setScene(scene); //Displaying the contents of a scene stage.show(); } public static void main(String args[]){ launch(args); } }
使用以下命令從命令提示符編譯並執行儲存的 java 檔案。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls DrawingLine.java java --module-path %PATH_TO_FX% --add-modules javafx.controls DrawingLine
輸出
執行後,上述程式會生成一個 JavaFX 視窗,其中顯示一條直線,如下所示。

繪製多條直線
您還可以透過使用 addAll() 函式將所有直線組合在一起,在單個應用程式上繪製多條直線。演示相同內容的示例如下。在這裡,我們使用四條線繪製一個正方形,並將背景顏色設定為“粉紅色”。將此程式碼儲存在名為DrawingMultipleLines.java的檔案中。
示例
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.shape.Line; import javafx.stage.Stage; public class DrawingMultipleLines extends Application{ @Override public void start(Stage stage) { //Creating a line object Line line1 = new Line(); //Setting the properties to a line line1.setStartX(100.0); line1.setStartY(150.0); line1.setEndX(200.0); line1.setEndY(150.0); // Setting Properties to other lines // without setter methods Line line2 = new Line(200, 150, 200, 250); Line line3 = new Line(200, 250, 100, 250); Line line4 = new Line(100, 250, 100, 150); //Creating a Group Group root = new Group(); root.getChildren().addAll(line1,line2,line3,line4); //Creating a Scene Scene scene = new Scene(root, 400, 400, Color.PINK); //Setting title to the scene stage.setTitle("Sample application"); //Adding the scene to the stage stage.setScene(scene); //Displaying the contents of a scene stage.show(); } public static void main(String args[]){ launch(args); } }
使用以下命令從命令提示符編譯並執行儲存的 java 檔案。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls DrawingMultipleLines.java java --module-path %PATH_TO_FX% --add-modules javafx.controls DrawingMultipleLines
輸出
上述程式的輸出視窗將如下所示獲得。
