2009-10-16 45 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); 

只需设置所有想要在循环中着色的项目的选定索引并相应地更改颜色!

相关问题