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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Построение GUI, тонкости архитектуры 
:(
    Опции темы
ruveal
Дата 23.11.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет

Решил написать простенький редактор и в принципе все бы ничего
Но запутался в листенерах, может кто то может помочь smile

Есть такая структура

Код

JPanel
----Jmenu
----JPanel
--------JTabbedPane 
------------JToolBar
------------JTextArea
--------JTabbedPane 
------------JToolBar
------------JTextArea


Хочется сделать по уму (?) и каждую ветку сделать как класс
Т.е.

Код

JPanel.class
----Jmenu.class
----JPanel.class
--------JTabbedPane.class 
------------JToolBar.class
------------JTextArea.class
--------JTabbedPane.class 
------------JToolBar.class
------------JTextArea.class


Но сразу возник вопрос если я определю все эти классы в базовой панели
То как смогу управлять ими?
Например у меня есть функция вырезать текст
Это можно сделать и из меню и из тул бара
С тул баром понятно, так как он сидит в той же панели, в том же классе и имеет доступ к текст ареа
Но меню уже сидит в другом месте :(

Короче запутался я :(

Использовать Observer?
Или создавать глобальными те компоненты которые будт изменятся

Если кто сталкивался с такой задачей smile
Помогите smile

Спасибо
PM MAIL   Вверх
inohodec
Дата 24.11.2008, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Не знаю насколько это правильно с точки зрения ОО, тебе ведь это нужно ?
Но вот примерно так, должно работать

Код

JPanelBase
----Jmenu
----JPanelInside
--------JTabbedPane 
------------JToolBar
------------JTextArea
--------JTabbedPane 
------------JToolBar
------------JTextArea


Код

class JPanelBase
{
    JPanelInside jpi = new JPanelInside ();
    Jmenu jm = new Jmenu (jpi);
}

class Jmenu
{
    JPanelInside jpi ;
    public Jmenu (JPanelInside jpi)
    {//сделай конструктор котоырй будет принимать внутреннюю панель
        this.jpi = jpi ;
    }

    actionPerformed(ActionEvent e) 
    {
        jpi.getJTabbedPane.getJTextArea.setText("hello world");
    }
}


Удачи smile
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.0742 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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