У меня есть одна панель и одна выпадающая группа. В основном, я хочу сделать цвет панели как один из элементов combobox. Ниже приведено описание ниже. В верхней части отображается ожидаемый результат, а ниже - то, что окончательно отображается.Цвет фона панели как элемент в JComboBox
Исходный код
Нажмите кнопку, откройте диалоговое окно и зарегистрировать цвет ПАНЕЛЬ1 в массиве
private void bTestActionPerformed(java.awt.event.ActionEvent evt) {
showingColors[0] = Panel1.getBackground();
testDialog.setVisible(true);
}
Создание ComboBox. Обратите внимание, что в массиве цветов последние 3 цвета предназначены только для тестирования.
Color[] colors={showingColors[0],Color.red,Color.blue,Color.green};
CBackground = new javax.swing.JComboBox(colors);
CBackground.setMaximumRowCount(6);
CBackground.setRenderer(new MyCellRenderer());
MyCellRenderer класс
class MyCellRenderer extends JButton implements ListCellRenderer {
public MyCellRenderer() {
setOpaque(true);
}
boolean b=false;
@Override
public void setBackground(Color bg) {
// TODO Auto-generated method stub
if(!b)
{
return;
}
super.setBackground(bg);
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
b=true;
setText(" ");
setBackground((Color)value);
b=false;
return this;
}
} //End of class MySellRenderer
Там нет необходимости менять название. Правильный способ показать ответ решается, чтобы либо повысить его, либо принять ответ. Поскольку это ваш собственный вопрос, вы не можете принять ответ на несколько дней, но вернитесь сюда, чтобы сделать это. – PearsonArtPhoto
Приношу свои извинения! – sarotnem
Без проблем, мы были все новые раз ;-) – PearsonArtPhoto