Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать список цветов в jComboBox ? 
:(
    Опции темы
XClan
Дата 25.2.2005, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



Чтобы был в списке [квадрад цветной] и название(имя) отображающего цета( типа крассный, черный и все такое!
Как сделать??


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
AntonSaburov
Дата 25.2.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 118



Это конечно о-о-очень приблизительное решение, но мыслить видимо надо туда. Наверняка можно как-то оптимизировать.

Код

import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;

public class Focus extends JFrame
{
 public Focus()
 {
   String[] assa = {"Red", "Green", "Yellow"};
   JComboBox jc = new JComboBox(assa);

   jc.setRenderer(new MyRenderer());

   getContentPane().add(BorderLayout.NORTH, jc);
   setBounds(100,100,500,500);
 }

 public static void main(String[] args)
 {
   Focus my = new Focus();
   my.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   my.setVisible(true);
 }
}

class MyRenderer implements ListCellRenderer
{
 public Component getListCellRendererComponent(JList list,
            Object value, int index, boolean isSelected, boolean cellHasFocus)
 {
   if(index==-1) {
     index = list.getSelectedIndex();
   }

   JLabel lbl = new JLabel(value.toString());
   lbl.setOpaque(true);
   lbl.setBackground(isSelected ? Color.blue : Color.lightGray);

   BufferedImage bi = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
   Graphics g = bi.getGraphics();

   switch (index) {
     case 0: g.setColor(Color.red); break;
     case 1: g.setColor(Color.green); break;
     case 2: g.setColor(Color.yellow); break;
   }
   g.fillRect(0,0,20,20);

   lbl.setIcon(new ImageIcon(bi));

   return lbl;
 }
}

PM MAIL WWW ICQ   Вверх
XClan
Дата 25.2.2005, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



5 баллов! Сработало! Спасибо!


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0388 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.