2009-10-16 64 views

Trả lời

19

giống như sau sẽ giúp làm điểm xuất phát:

public class SelectedListCellRenderer extends DefaultListCellRenderer { 
    @Override 
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { 
     Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); 
     if (isSelected) { 
      c.setBackground(Color.RED); 
     } 
     return c; 
    } 
} 
// During the JList initialisation... 
jlist1.setCellRenderer(new SelectedListCellRenderer()); 
0

Nếu tôi hiểu rõ bạn, hãy xem javax.swing.ListCellRenderer. Bạn cần triển khai lại hoặc mở rộng javax.swing.DefaultListCellRenderer và tùy chỉnh phương thức getListCellRendererComponent.

1

Một cách dễ dàng hơn sẽ được đi sang chế độ thiết kế trong Eclipse, và trong các thuộc tính của JList của bạn, nhấp chuột vào nút đó có hai mũi tên nhỏ với một mũi tên màu vàng lớn inbetween để mở ra "hiển thị thuộc tính nâng cao." sau đó di chuyển xuống và thay đổi màu sắc nơi nó nói "selectionBackground" và thay đổi màu sắc ở đó (nó có thể sẽ có màu xám, nhưng nó vẫn sẽ thay đổi). Bây giờ, khi bạn chạy chương trình của bạn, bất cứ điều gì bạn chọn, nền sẽ là màu đó.

1
jList1.setSelectedIndex(currentLine); 
jList1.setSelectionBackground(Color.red); 

Chỉ cần chọn chỉ mục đã chọn của tất cả các mục bạn muốn tô màu trong vòng lặp và thay đổi màu sắc Theo đó!

Các vấn đề liên quan