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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список SWING компонентов 
V
    Опции темы
rrrookie
Дата 15.1.2007, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Работаю с фреймом.
Не получается создатЬ динамический список  SWING компонентов.

Например имеется кнопка ADD.  При нажатии кототорой в текущем феиме должен появится 
новый SWING компонент (в комбо боксе выбираем какой именно). 

Ок, ето создано - работает. 
В примере показано как во феим добавляется кнопка...

Код


    private void AddComponent_actionPerformed(ActionEvent e) {
    
        this.addComponentCounter();
        this.setNextCoordinatesForComponent();
        
        JButton jbutton = new JButton(new CheckAction(""));
        jbutton.setText("NEW" + this.getComponentCounter());
        jbutton.setBounds(new Rectangle(new Rectangle(this.getComponentX(), this.getComponentY(), 100, 23)));
        jbutton.setToolTipText("null");
        //AddComponent.setActionCommand("addComponent");
            
        
        this.getContentPane().add(jbutton, null);            
        
    }



Обработчик ->
Код

    private class CheckAction extends AbstractAction{
        public CheckAction(String name) {
            super(name);
        }
        public void actionPerformed(ActionEvent e) {
            System.out.println("You click on "+((JButton)e.getSource()).getText()+" button");
        }
    } 


Не получается сделатЬ так, что бы при нажатии на новый, добавленный обЬект (в примере, на добавленную кнопку) - открывалосЬ новое окно, в котором была возможностЬ редактироватЬ выбранный обект... Например поменятЬ название, или стеретЬ его вовсе из фреима...


Не подскажите как ето реализоватЬ?
PM MAIL   Вверх
BlackStar
Дата 15.1.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 2
Всего: 5



Что конкретно не получается? Вызывай в обработчике вместо System.out.println, например создание JDialog.
PM MAIL Jabber   Вверх
powerOn
Дата 15.1.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 31
Всего: 159



Цитата(rrrookie @  15.1.2007,  13:18 Найти цитируемый пост)
что бы при нажатии на новый, добавленный обЬект (в примере, на добавленную кнопку) - открывалосЬ новое окно


повесь на "новый добавленный объект" слушателя например на ActionPerformed. в нем выполняй обработку.
Что-то вроде:
Код

private void AddComponent_actionPerformed(ActionEvent e) {
        this.addComponentCounter();
        this.setNextCoordinatesForComponent();
        
        JButton jbutton = new JButton("My Button");
         jbutton.setBounds(new Rectangle(new Rectangle(this.getComponentX(), this.getComponentY(), 100, 23)));
         jbutton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonActionPerformed(evt);
            }
        });
        
        this.getContentPane().add(jbutton, null);            
    }

private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
// Здесь код открытия нового окна.
}



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
rrrookie
Дата 15.1.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Прощение, но ето моя первая SWING аппликация...
Пока что не до конца понимаю как работает слушателЬ.

Код

jbutton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonActionPerformed(evt);
            }
        });


private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
// Здесь код открытия нового окна.
}



Сейчас ищу как открытЬ новое окно при нажатии конопки -  но главная проблема, как получитЬ доступ к компоненту, из которого было открыто новое окно...
Интересует именно визyалЬная частЬ.  Логически все компоненти можно хранитЬ в списке

Это сообщение отредактировал(а) rrrookie - 15.1.2007, 15:58
PM MAIL   Вверх
BlackStar
Дата 15.1.2007, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 2
Всего: 5



Читайте документацию (хелп, FAQ) по JDialog. Доступ к компоненту можно получить передав ссылку на него в конструктор диалога.
PM MAIL Jabber   Вверх
rrrookie
Дата 15.1.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ok, кажется справился - спасибо
PM MAIL   Вверх
powerOn
Дата 15.1.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 31
Всего: 159



Если вопрос решен, то не забывайте помечать его таковым!  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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