Tôi có biểu mẫu có trường văn bản và tôi muốn cung cấp cho họ đường viền màu đỏ nếu tôi nhấp vào "lưu" nhưng ví dụ: không có gì được nhập vào trường bắt buộc, chữ cái cho trường "ngày sinh", ....JavaFX: Đường viền màu đỏ cho trường văn bản
My files: EditController.java, error.css
Tôi đã cố gắng:
tfFirstName.getStyleClass().add("error");
, để xoá bỏ nó nếu họ nhập một cái gì đó có giá trị:
tfFirstName.getStyleClass().remove("error");
và trong css:
.text-field.error {
-fx-border-color: red ;
-fx-border-width: 2px ;
}
Nhưng nó không thay đổi gì cả.
Đáng ngạc nhiên,
tfFirstName.setStyle("-fx-border-color: red ; -fx-border-width: 2px ;");
(và một chuỗi rỗng để thoát khỏi nó) chỉ hoạt động tốt nhưng nó không phải là "đẹp" nếu tôi muốn bổ sung thêm để nó sau này.
Có ai biết cách sửa css không?
Tôi đang sử dụng JavaFX 7 và đề xuất của bạn cũng không hoạt động. – Neph
Nó cũng giống như "tfFirstName.setStyle (" ");" chỉ xóa nó ngay sau khi nó được thiết lập. Nếu tôi muốn xóa nó sau, nó sẽ giữ biên giới. – Neph
Bạn phải đảm bảo rằng bạn không thêm lớp phong cách nhiều lần (hoặc khi bạn xóa nó chắc chắn sẽ xóa tất cả các lần xuất hiện). Lớp kiểu là một danh sách, vì vậy nó có thể giữ các giá trị trùng lặp. –