Tôi đang sử dụng JTable để trực quan hóa một số dữ liệu. Một cột ist mệnh để hiển thị dữ liệu boolean thông qua một hộp kiểm. Tôi đã đạt được điều này bằng cách trả về Boolean.class từ hàm getColumnClass() đã được lược tả của tôi trong mô hình bảng của tôi.JTable - Các sự cố với Trình kết xuất ô Boolean.class và Giao diện và hình ảnh của Nimbus
Thật không may điều này dẫn đến một ô có hộp kiểm nhưng không có màu nền thích hợp cho hàng hiện tại.
tôi cố định này bằng cách sử dụng các câu trả lời từ bài này: JTable - Boolean Cell Type - Background
Bây giờ tôi đang cố gắng để tăng độ tương phản của các hàng xen kẽ. Tôi đã đạt được điều này bằng cách thiết lập các tài sản thích hợp của Nimbus LAF, mà tôi đang sử dụng.
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("Table.alternateRowColor", new Color(217, 217, 217));
Như bạn thấy, nền của các tế bào Boolean vẫn là cũ Nimbus Table.alternateRowColor
màu.
Có cách nào để thay đổi điều này không? Tôi làm điều này hoàn toàn sai? Có cách nào tốt hơn để đạt được màu nền xen kẽ và độ tương phản cao hơn không?
EDIT
gây ra trên
phiên bản java "1.7.0_17" Java (TM) SE Runtime Environment (xây dựng 1.7.0_17-b02) Java HotSpot (TM) Server VM (xây dựng 23,7 -b01, chế độ hỗn hợp), hệ điều hành là Ubuntu 12,04
+1 câu hỏi hay, bắt tốt, có thể là câu hỏi rất hay cho người đọc trong tương lai trong trường hợp bạn sẽ đăng [SSCCE] (http://sscce.org/), ngắn, chạy được, có thể biên dịch – mKorbel