JavaFX - 描邊線連線屬性



JavaFX 不僅支援一次繪製單個二維圖形,還允許您將多個二維圖形物件連線起來以形成另一個更大的物件。例如,您可以使用 Rectangle 類繪製矩形物件,也可以將四個線物件連線起來形成一個矩形。

在這種情況下,當使用多條線形成二維圖形時,JavaFX 支援將各種屬性應用於這些線,同時將它們組合在一起。其中一個屬性是描邊線連線屬性。

描邊線連線屬性

描邊線連線屬性用於指定在形成另一個形狀時用於組合兩個線物件的連線形狀。

此屬性的型別為 **StrokeLineJoin**,它表示在形狀邊緣使用的連線型別。

描邊線連線有三種類型。它由 StrokeLineJoin 的三個常量表示,如下所示:

  • **斜接 (Bevel)** - 在斜接連線中,交叉點的外部邊緣用線段連線。

  • **斜角 (Miter)** - 在斜角連線中,交叉點的外部邊緣連線在一起,形成一個銳利的邊緣。

  • **圓角 (Round)** - 在圓角連線中,交叉點的外部邊緣透過將角圓角連線起來,其半徑將恰好是連線寬度的一半。

您可以使用以下方法設定描邊的線連線:**setStrokeLineJoin()**

path.setStrokeLineJoin(StrokeLineJoin.[Type_of_Join]);

連線型別可以使用以下任何關鍵字設定:

  • **StrokeLineJoin.BEVEL** - 將描邊線連線設定為斜接連線。

  • **StrokeLineJoin.MITER** - 將描邊線連線設定為斜角連線。

  • **StrokeLineJoin.ROUND** - 將描邊線連線設定為圓角連線。

預設情況下,形狀的描邊線連線是斜角。下圖是一個具有不同線連線型別的三角形的示意圖。

Stroke Line Join

示例

讓我們看一個演示在三角形上使用描邊線連線屬性的示例。將此檔案儲存為 **StrokeLineJoinExample.java**。

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.Polygon;
import javafx.scene.shape.StrokeLineJoin;
import javafx.scene.paint.Color;
import javafx.stage.Stage;  

public class StrokeLineJoinExample extends Application { 
   @Override 
   public void start(Stage stage) {        
      //Creating a Triangle 
      Polygon triangle = new Polygon();  

      //Adding coordinates to the polygon 
      triangle.getPoints().addAll(new Double[]{ 
         100.0, 50.0, 
         170.0, 150.0, 
         100.0, 250.0,  
      });
      triangle.setFill(Color.BLUE);
      triangle.setStroke(Color.BLACK);
      triangle.setStrokeWidth(7.0);
      triangle.setStrokeLineJoin(StrokeLineJoin.BEVEL);

      //Creating a Group object  
      Group root = new Group(triangle); 

      //Creating a scene object 
      Scene scene = new Scene(root, 300, 300);  

      //Setting title to the Stage 
      stage.setTitle("Drawing a Triangle"); 

      //Adding scene to the stage 
      stage.setScene(scene); 

      //Displaying the contents of the stage 
      stage.show(); 
   } 
   public static void main(String args[]){ 
      launch(args); 
   } 
}

使用以下命令從命令提示符編譯並執行儲存的 java 檔案。

javac --module-path %PATH_TO_FX% --add-modules javafx.controls StrokeLineJoinExample.java 
java --module-path %PATH_TO_FX% --add-modules javafx.controls StrokeLineJoinExample

輸出

執行後,上述程式將生成一個 JavaFX 視窗,顯示如下所示具有斜接描邊線連線的三角形。

Stroke Line Join Output

示例

讓我們看一個演示在矩形上使用 ROUND 描邊線連線屬性的示例。將此檔案儲存為 **StrokeLineJoinRectangle.java**。

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.Polygon;
import javafx.scene.shape.StrokeLineJoin;
import javafx.scene.paint.Color;
import javafx.stage.Stage;  

public class StrokeLineJoinRectangle extends Application { 
   @Override 
   public void start(Stage stage) {        
      //Creating a Rectangle 
      Polygon rectangle = new Polygon();  

      //Adding coordinates to the polygon 
      rectangle.getPoints().addAll(new Double[]{ 
         100.0, 50.0, 
         170.0, 50.0, 
         170.0, 250.0,
         100.0, 250.0,		 
      });
      rectangle.setFill(Color.ORANGE);
      rectangle.setStroke(Color.BLACK);
      rectangle.setStrokeWidth(5.0);
      rectangle.setStrokeLineJoin(StrokeLineJoin.ROUND);

      //Creating a Group object  
      Group root = new Group(rectangle); 

      //Creating a scene object 
      Scene scene = new Scene(root, 300, 300);  

      //Setting title to the Stage 
      stage.setTitle("Drawing a Rectangle"); 

      //Adding scene to the stage 
      stage.setScene(scene); 

      //Displaying the contents of the stage 
      stage.show(); 
   } 
   public static void main(String args[]){ 
      launch(args); 
   } 
}

使用以下命令從命令提示符編譯並執行儲存的 java 檔案。

javac --module-path %PATH_TO_FX% --add-modules javafx.controls StrokeLineJoinRectangle.java 
java --module-path %PATH_TO_FX% --add-modules javafx.controls StrokeLineJoinRectangle

輸出

執行後,上述程式將生成一個 JavaFX 視窗,顯示如下所示具有斜接描邊線連線的三角形。

Stroke Line Join Output
廣告