Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Các thuộc tính của đối tượng 2D trong JavaFX

Đối với tất cả các đối tượng 2 chiều, bạn có thể thiết lập nhiều thuộc tính khác nhau:

Các thuộc tính chính

  • Stroke Type (Loại nét vẽ) - Xác định loại đường viền của hình dạng. Thiết lập qua setStrokeType(). JavaFX hỗ trợ 3 loại: StrokeType.INSIDE, StrokeType.OUTSIDE, StrokeType.CENTERED.
  • Stroke Width (Độ rộng nét vẽ) - Xác định độ rộng đường viền. Thiết lập qua setStrokeWidth().
  • Fill (Màu tô) - Xác định màu tô bên trong hình dạng. Thiết lập qua setFill().
  • Stroke (Màu viền) - Xác định màu đường viền. Thiết lập qua setStroke().
  • Stroke Line Cap (Kiểu đầu nét) - Xác định kiểu đầu đường nét. Thiết lập qua setStrokeLineCap(). Hỗ trợ: BUTT, ROUND, SQUARE.
  • Stroke Line Join (Kiểu nối nét) - Xác định hình dạng nối giữa các đoạn nét. Thiết lập qua setStrokeLineJoin(). Hỗ trợ: BEVEL, MITER, ROUND.
  • Stroke Miter Limit (Giới hạn Miter) - Giới hạn cho kiểu nối MITER. Thiết lập qua setStrokeMiterLimit(). Giá trị nhỏ hơn 1.0 sẽ được coi là 1.0.
  • Smooth (Làm mượt) - Xác định có sử dụng anti-aliasing hay không. Thiết lập qua setSmooth().
  • Stroke Dash Offset (Độ dời nét đứt) - Nếu sử dụng nét đứt, thuộc tính này chỉ định độ dời vào mẫu nét đứt.

Ví dụ minh họa

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.Rectangle;
import javafx.scene.shape.StrokeLineCap;
import javafx.scene.shape.StrokeLineJoin;
import javafx.scene.shape.StrokeType;

public class ShapeProperties extends Application {
    @Override
    public void start(Stage stage) {
        // Vẽ hình chữ nhật
        Rectangle rect = new Rectangle(100.0, 75.0, 400.0, 150.0);
        
        // Thiết lập các thuộc tính 2D
        rect.setStrokeWidth(25.0);
        rect.setStrokeType(StrokeType.OUTSIDE);
        rect.setStroke(Color.BLUE);
        rect.setStrokeMiterLimit(8.0);
        rect.setStrokeLineCap(StrokeLineCap.ROUND);
        rect.setStrokeLineJoin(StrokeLineJoin.MITER);
        rect.setSmooth(false);
        
        // Chuẩn bị Stage
        Group root = new Group(rect);
        Scene scene = new Scene(root, 600, 300);
        stage.setTitle("Ví dụ thuộc tính hình dạng");
        stage.setScene(scene);
        stage.show();
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}

Kết quả đầu ra

Các thuộc tính của đối tượng 2D trong JavaFX