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

Just Set Выбранный индекс всех элементов, которые вы хотите пометить в цикле и изменить цвет Соответственно!

Смежные вопросы