powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Раскраска JComboBox
13 сообщений из 13, страница 1 из 1
Раскраска JComboBox
    #33938080
Винча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток,вот возникла непонятная ситуация с раскраской JComboBox -необходимо показывать соответствующие цвета в компоненте JComboBox.
Вот привожу свой кусочек кода - вроде должен выводить цвета но он отказывается
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Object [] data_property = {Color.black};
    property =  new  JComboBox(data_property);
    property.setRenderer( new  ColorListRenderer());



  public   class  ColorListRenderer  extends  DefaultListCellRenderer {

     public  Component getListCellRendererComponent(JComboBox list, Object value,  int  index,  boolean  isSelected,  boolean  hasFocus){

    setText((String)value);
    setBackground((Color)value);
     return   this ;
    }
  
}

Но выводит java.awt.Color[r=0,g=0,b=0] вместо необходимого цвета
Может я что-то не так делаю в классе ColorListRenderer ?
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33938489
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
setText((String)value); с ClassCastException должно падать если в value действительно цвет. Ты там toString() ненароком не вставил? А что ты ожидаешь должно выводится? Вроде все правиьлно выводит. Цвет черный и выводит черный. Хотя по логике ты его не должен был увидеть.
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33938499
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33938672
Винча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Deady воспользовался и помогло, теперь открываю список - выбтраю цвет
а вот выбранный текст не отображается цветом -опять просто текст -java.awt.Color[r=0,g=0,b=0]
В обработчике что-то прописывать надо, а вот что ?
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33939952
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вероятно нужен не только renderer но и editor
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33940085
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это потому что в качестве текста подставляется Color.toString() который по дефолту вернет ту строку.
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33941120
Винча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deady извини не вполне понятно, что нужно изменить ?
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33941185
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код приведите, я покажу
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33941730
Винча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
   public   class  ColorListRenderer  extends  DefaultListCellRenderer {

     public  Component getListCellRendererComponent(JList list, Object value,  int  index,  boolean  isSelected,  boolean  hasFocus){
     
      JLabel label = (JLabel) super .getListCellRendererComponent(list, value, index,   isSelected, hasFocus);
      label.setBackground((Color)value);
      label.setText(" ");
       return  label;

    
    }

}

...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33942303
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странно, а можно скриншотец?
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33942563
Винча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да конечно можно!
Скриншот 1: развертывание списка-вроде нормуль:
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33942590
Винча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скриншот2: изначальное состояние комба или когда выбрали цвет( в данном случае выбрали красный в открывающемся списке) - здесь визуализации нет, может что-нить надо в обработчике комба писать(AcionListener), у меня там пусто пока.

Вот код назначения Render'a:
Object [] data_property = {Color.green,Color.red};
property = new JComboBox(data_property);
property.setRenderer(new ColorListRenderer());
...
Рейтинг: 0 / 0
Раскраска JComboBox
    #33949790
zurtax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надо и рендерер и эдитор, как выше уже подсказывали, устанавливать.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Раскраска JComboBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]