Trong Java làm thế nào để có được một JList
với các màu thay thế? Bất kỳ mã mẫu nào?Làm thế nào để tạo ra một Jlist với các màu thay thế
10
A
Trả lời
14
Để tùy chỉnh giao diện của một ô JList
bạn cần phải viết cách triển khai của riêng mình là ListCellRenderer
.
Một thi mẫu của class
có thể trông như thế này: (phác thảo thô, chưa được thử nghiệm)
public class MyListCellThing extends JLabel implements ListCellRenderer {
public MyListCellThing() {
setOpaque(true);
}
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
// Assumes the stuff in the list has a pretty toString
setText(value.toString());
// based on the index you set the color. This produces the every other effect.
if (index % 2 == 0) setBackground(Color.RED);
else setBackground(Color.BLUE);
return this;
}
}
Để sử dụng renderer này, trong constructor JList
của bạn đặt mã này:
setCellRenderer(new MyListCellThing());
Để thay đổi hành vi của ô dựa trên lựa chọn và có tiêu điểm, hãy sử dụng các giá trị boolean được cung cấp.
Các vấn đề liên quan
- 1. Thay đổi màu hàng JList khi chạy
- 2. Làm thế nào để tạo ra một spinner với hình ảnh thay vì văn bản?
- 3. Làm thế nào để tạo ra một số màu sắc đặc biệt nhất trong R?
- 4. Làm thế nào để tạo ra màu sáng/tối hơn với PHP?
- 5. Làm thế nào để tạo một dendrogram với các chi nhánh màu?
- 6. Làm thế nào để tạo ra postback giả với javascript?
- 7. Làm thế nào để tạo ra một hình ảnh màu trắng trong Python?
- 8. Python & GTK3: Làm thế nào để tạo ra một Liststore
- 9. Làm thế nào để tạo ra một mảng toàn cầu?
- 10. Clojure: Làm thế nào để tạo ra một 'trie'?
- 11. Làm thế nào để tạo ra một Clojure Lint?
- 12. JsTree làm thế nào để tạo ra một nút gốc
- 13. làm thế nào để tạo một hộp chọn đa với ra các lựa chọn hiện CodeIgniter
- 14. Làm thế nào để tạo ra một icosahedron chia nhỏ?
- 15. Làm thế nào để buộc pytest ghi màu ra?
- 16. Làm thế nào để Desaturate một màu?
- 17. MathJax: Làm thế nào để thay đổi màu sắc mặc định cho đầu ra svg
- 18. Làm thế nào để ràng buộc một JList để một Bean sở hữu lớp
- 19. Làm thế nào để vẽ một màu gradient trong Android trên Canvas với màu sắc thay đổi?
- 20. Làm thế nào để tạo ra một chi nhánh của một phiên bản cũ với TortoiseSVN?
- 21. Làm thế nào để xóa/thay thế mã màu ANSI từ một chuỗi trong Javascript
- 22. JavaScript: làm thế nào để thay đổi phong cách CSS của span được tạo ra?
- 23. Làm thế nào để thay đổi màu chữ trong JtextArea?
- 24. Làm thế nào để thay đổi màu sắc của một kết cấu với GLSL?
- 25. Làm thế nào để tạo ra một StackOverflowException với một vài dòng mã?
- 26. Làm thế nào để thay đổi màu nền của JTabbedPane?
- 27. Làm thế nào để tạo ra một combobox với hai cột (một ẩn) trong Delphi 7?
- 28. Làm thế nào để tạo ra các tab với các biểu tượng trong JavaFX
- 29. JTable làm thế nào để thay đổi màu nền
- 30. WPF: Làm thế nào để animate thay đổi màu sắc?
Cẩn thận, bạn cần xử lý trường hợp hàng được chọn (thay đổi màu sắc) –
vâng, tôi đã đề cập ở cuối bài đăng. – jjnguy
Nitrat nhỏ: phải được đặtSở nền thay vì đặtBackgroundColor. – ataylor