Đố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
