Sau đây là các hình dạng hình học khác nhau mà bạn có thể vẽ bằng JavaFX
-
Dòng - Đoạn thẳng là một cấu trúc hình học nối hai điểm. javafx.scene.shape . Dòng lớp đại diện cho một dòng trong mặt phẳng XY.
-
Hình chữ nhật - Hình chữ nhật là hình đa giác đều có hai cặp cạnh đối song song và đồng quy với tất cả các góc trong là góc vuông. Javafx.scene. Hình chữ nhật lớp đại diện cho một hình chữ nhật trong mặt phẳng XY.
-
Vòng kết nối - Đường tròn là một đoạn thẳng tạo thành một vòng khép kín, mọi điểm trên đó đều cách tâm một khoảng cố định. Javafx.scene. Vòng kết nối lớp đại diện cho một vòng tròn trong mặt phẳng XY.
-
Hình elip - Một hình elip được xác định bởi hai điểm, mỗi điểm được gọi là tiêu điểm. Nếu lấy bất kỳ điểm nào trên elip thì tổng khoảng cách đến các điểm lấy nét là không đổi. Javafx.scene. Ellipse's lớp đại diện cho một hình elip trong mặt phẳng XY.
-
Đa giác - Một hình dạng khép kín được tạo thành bởi một số đoạn đường đồng phẳng được nối từ đầu đến cuối được gọi là hình đa giác. Lớp javafx.scene.Polygon đại diện cho một đa giác trong mặt phẳng XY.
-
Đường đa giác - Một đa giác cũng giống như một đa giác ngoại trừ một đa giác không phải là cuối cùng. Hoặc, một đường liên tục bao gồm một hoặc nhiều đoạn thẳng. Javafx.scene. Polyline lớp đại diện cho một polyline trong mặt phẳng XY.
-
Đường cong khối - Đường cong hình khối là đường cong tham số Bezier trong mặt phẳng XY là đường cong bậc 3. Đường javafx.scene. CubicCurve lớp đại diện cho một đường cong hình khối trong mặt phẳng XY.
-
QuadCurve - Đường cong bậc hai là đường cong tham số Bezier trong mặt phẳng XY là đường cong bậc 2. Đường javafx.scene. QuadCurve lớp đại diện cho một đường cong quad trong mặt phẳng XY.
-
Vòng cung - Cung là một phần của đường cong. Javafx.scene. Arc lớp đại diện cho một cung trong mặt phẳng XY.
Để tạo một hình dạng bắt buộc, bạn cần -
-
Khởi tạo lớp tương ứng.
-
Đặt thuộc tính của nó.
-
Thêm đối tượng đã tạo vào Nhóm.
Ví dụ
Ví dụ JavaFX sau minh họa việc tạo tất cả các hình dạng 2D có sẵn -
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.shape.Arc; import javafx.scene.shape.ArcType; import javafx.scene.shape.Circle; import javafx.scene.shape.CubicCurve; import javafx.scene.shape.Ellipse; import javafx.scene.shape.Line; import javafx.scene.shape.Polygon; import javafx.scene.shape.Polyline; import javafx.scene.shape.QuadCurve; import javafx.scene.shape.Rectangle; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; public class JavaFXShapes extends Application { public void start(Stage stage) { Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12); Text cirText = new Text("Circle"); cirText.setFont(font); cirText.setX(50); cirText.setY(130); Text rectText = new Text("Rectangle"); rectText.setFont(font); rectText.setX(170); rectText.setY(130); Text ellipseText = new Text("Ellipse"); ellipseText.setFont(font); ellipseText.setX(310); ellipseText.setY(130); Text polyText = new Text("Polygon"); polyText.setFont(font); polyText.setX(425); polyText.setY(130); Text lineText = new Text("Line"); lineText.setFont(font); lineText.setX(530); lineText.setY(130); Text polyLineText = new Text("Poly Line"); polyLineText.setFont(font); polyLineText.setX(40); polyLineText.setY(260); Text cubicCurveText = new Text("Cubic Curve"); cubicCurveText.setFont(font); cubicCurveText.setX(140); cubicCurveText.setY(260); Text quadCurveText = new Text("Quad Curve"); quadCurveText.setFont(font); quadCurveText.setX(340); quadCurveText.setY(260); Text arcText = new Text("Arc"); arcText.setFont(font); arcText.setX(490); arcText.setY(260); //Drawing a circle Circle circle = new Circle(75.0f, 65.0f, 40.0f ); //Drawing a Rectangle Rectangle rect = new Rectangle(150, 30, 100, 65); //Drawing an ellipse Ellipse ellipse = new Ellipse(330, 60, 60, 35); //Drawing Polygon Polygon poly = new Polygon(410, 60, 430, 30, 470, 30, 490, 60, 470, 100, 430, 100 ); //Drawing a Line Line line = new Line(540, 30, 540, 90); line.setStrokeWidth(5.0); //Drawing a Poly line Polyline polyLine = new Polyline(25, 210, 100, 210, 50, 180, 50, 230); polyLine.setStrokeWidth(5.0); //Drawing a cubic curve CubicCurve cubicCurve = new CubicCurve(150.0, 210.0, 200.0, 70.0, 200.0, 290.0, 270.0, 210.0); //Drawing Quadratic curve QuadCurve quadCurve = new QuadCurve(400.0, 200.0, 440.0, 250.0, 330.0, 170.0); //Drawing an arc Arc arc = new Arc(490, 240, 50, 80, 30, 70); arc.setType(ArcType.ROUND); //Setting the stage Group root = new Group( circle, ellipse, rect, poly, line, polyLine, cubicCurve, quadCurve, arc, cirText, rectText, ellipseText, polyText, lineText, polyLineText, cubicCurveText, quadCurveText, arcText); Scene scene = new Scene(root, 600, 300); stage.setTitle("2D shapes Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
Đầu ra