Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
StasNet

Две операции с иконками для jTree

14.04.2010, 12:56. Показов 954. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например имеется 2 операции в конт.меню для какого то элемента в jTree:
То есть нажал на Start - иконка стала зеленой ( то есть активной), нажали на Stop - стала красной ( Не активна)
У меня что-то не получается - может я где-то ошибся или вообще не то пишу?!?!?
Помогите плиззззззз :/
------------
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
   private class MyIconTree extends DefaultTreeCellRenderer {
       ImageIcon Aggreg_activ; 
       ImageIcon Aggreg_no_activ;
 
       public MyIconTree() {
           Aggreg_activ = new javax.swing.ImageIcon(getClass().getResource('/images/green_a.gif'));
           Aggreg_no_activ = new javax.swing.ImageIcon(getClass().getResource('/images/red_a.gif'));
       }
       
       public class IconActive
       {
       public boolean active;
       public void setActive(boolean act_ok)
               {
               active = act_ok;
               }
 
       public boolean isActive()
               {
                return active;
               }
       }
       
       public Component getTreeCellRendererComponent(
                               JTree tree, Object value, boolean selected,
                               boolean expanded, boolean leaf, int row, boolean hasFocus) {
           Component result = super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
       DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
       Object object = node.getUserObject();
               setText(object.toString());
                 if(object instanceof AggregP){ 
                   if(active){
               setIcon(Aggreg_activ);
                    }else{
               setIcon(Aggreg_no_activ);
                    }
           }
           return result;
   }
   }
и второй код реагирующая на нажати кнопокй мышки на конт.меню...

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void jTree1ValueChanged(javax.swing.event.TreeSelectionEvent evt) {
      DefaultTreeModel model = (DefaultTreeModel)jTree1.getModel();
      DefaultMutableTreeNode node = (DefaultMutableTreeNode)
                       jTree1.getLastSelectedPathComponent();
      m_popup = new JPopupMenu();
    if (rootNode == null) return;
      Object object = node.getUserObject();
if ( object instanceof AggregP ) {
                m_popup = new JPopupMenu();
                m_popup.add(new AbstractAction('Start') {
                  public void actionPerformed(ActionEvent e) {
                          JAL.this.active(true); //JAL - сам файл(JAL*.class), где прописаны коды, которые Вы видите тут
           }
           });
                m_popup.add(new AbstractAction('Stop') {
                  public void actionPerformed(ActionEvent e) {
                          JAL.this.active(false);
           }
           });
                jTree1.add(m_popup);
     }
Thanks!
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.04.2010, 12:56
Ответы с готовыми решениями:

Jdev : Указать источник для JTree
Здравствуйте! Только начал разбираться с Java на примере среды Jdeveloper. Никак не могу понять, как мне установить источник для...

Проблемка с иконками для меню
Привет. У меня вот такой вопрос. Как сделать, чтоб в меню одна иконка отличалась от других. Скажем, все иконки желтые листья, а...

Один ПК, две сетевухи, две сетки, две папки для общего доступа
Здравствуйте! В одном здании имеем две разделенные физически локальные сети. Есть возможность использовать на одном ПК две сетевухи....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.04.2010, 12:56
Помогаю со студенческими работами здесь

Две операции на 1 строке можно выполнить?
Здравствуйте! Хотел подменить одну строку кода двумя через Ctrl+H, но похоже так нельзя. Возник вопрос, можно ли тогда подменить...

Объединить две операции в одну и задать повтор
Сам я вообще начинающий програмист, но с горем пополам написал такой код unit Unit1; interface uses Windows, Messages,...

Возвести число в 4 степень используя только две операции умножения
Написать программу, которая запрашивает вещественное число a и, пользуясь только опeрацией умножения, вычисляет a4 за две операции. и...

Деление числа на две цифры и дальнейшие операции над ними
Привет, форумчане. Проблема следующая, бью число (пока двухзначное) на составляющие его цифры, с этим проблем нет, но вот дальше, когда...

Не пользуясь никакими арифметическими операциями кроме сложения, получить 4а за две операции
2 Дано число а. Не пользуясь никакими другими арифметическими операциями, кроме сложения, получить 4а за две операции.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru