2009-10-16 46 views

回答

19

像下面這樣將有助於爲出發點:

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

如果我清楚地瞭解你,請看javax.swing.ListCellRenderer。 您需要重新實現或擴展javax.swing.DefaultListCellRenderer並自定義getListCellRendererComponent方法。

1

更簡單的方法是去在Eclipse的設計模式,並在JList中的屬性,點擊那個有兩個按鈕小箭頭與中間的一個大的黃色箭頭打開「顯示先進的屬性」。然後向下滾動並更改它所說的「selectionBackground」的顏色並在那裏更改顏色(它可能是灰色的,但仍會改變)。現在,當你運行程序時,無論你選擇什麼,背景都是那種顏色。

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

只需設置所有想要在循環中着色的項目的選定索引並相應地更改顏色!

相關問題