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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JFrame и Jdialog 
:(
    Опции темы
Reptor
Дата 19.4.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



Вопрос касается правельности организации кода. Есть JFrame как основной класс и есть JDialog (модальное окно) со своим GUI. так вот как првельно или луче зделать что б класс модального окна был вложеным классом моего главного класса (JFrame) или необходимо его вынести как отдельный класс? Как более верно зделать?
PM MAIL ICQ   Вверх
fixxer
Дата 19.4.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А в данном случае без разницы


--------------------
user posted image
PM MAIL ICQ   Вверх
Reptor
Дата 19.4.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



а если у меня есть функции или переменные которые нужны в JDialog то что тогда. В Java же вроде нет множественного наследования? 
PM MAIL ICQ   Вверх
nornad
Дата 19.4.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Я предпочитаю делать отдельные классы. В таком случае диалог потом можно использовать в других приложениях без особых извращений.
Цитата(Reptor @  19.4.2007,  18:01 Найти цитируемый пост)
а если у меня есть функции или переменные которые нужны в JDialog то что тогда.

Вопрос не понял :(


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Reptor
Дата 19.4.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



Цитата

Вопрос не понял :(


Я имею в виду то что если в моём главном классе  есть функция которая тоже нужна и в JDialog что тогда делать если JDialog будет отдельным классом?
PM MAIL ICQ   Вверх
fixxer
Дата 19.4.2007, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Я имею в виду то что если в моём главном классе  есть функция которая тоже нужна и в JDialog что тогда делать если JDialog будет отдельным классом?

Не путайте кислое с пресным. Вынесите логику в отдельный класс.


--------------------
user posted image
PM MAIL ICQ   Вверх
Reptor
Дата 19.4.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

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



А ещё есть ли смысл создания меню отдельным классом ? или самого GUI для моего конкретного окна? Я просто начинающий и меня сильно волнует этот вопрос. 
PM MAIL ICQ   Вверх
nornad
Дата 19.4.2007, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Цитата(Reptor @  19.4.2007,  19:08 Найти цитируемый пост)
А ещё есть ли смысл создания меню отдельным классом ? или самого GUI для моего конкретного окна?

Если описание меню получается большим, то отдельные пункты меню можно вынести в отдельные классы. Можно все пункты, но я предпочитаю выносить только те, что имеют сложные обработчики. Правда, в этом случае начинаются пляски с тем, что обработчику зачастую требуется некоторая информация от диалога, но это решаемо.
А вот весь гуи я выношу в отдельный класс куда чаще. Во-первых, расположение элементов, их количество и сложность обработки приводят к тому, что код становится довольно обширным. А во-вторых, эту панель потом проще встраивать куда-нибудь, если такое потребуется. У меня требуется достаточно часто, чтобы я привык выносить главную панель окна в свой класс. Да и не только главную.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
hail
Дата 19.4.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Думаю выносить само меню в отдельный клас не стоит. Если в 2х классах есть одна и таже функция которую ты используешь то вынеси эту функцию в обработчик и назначь его слушателем этим 2м объектам, попробуй сделать так, чтоб не было разницы с какого объекта происходит ее вызов, а если нет, то можешь передавать в функцию идентификатор вызывающего ее объекта.
А вообще тяжело сказать, не понятно что за функция и что за объекты
PM MAIL   Вверх
dorogoyIV
Дата 20.4.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

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



Цитата

А ещё есть ли смысл создания меню отдельным классом ? или самого GUI для моего конкретного окна? Я просто начинающий и меня сильно волнует этот вопрос. 

я тоже начинающий.
когда НЕ делаешь отдельные классы такое уродство получается, что через пару недель и сам разобраться не можешь. а в принципе разницы нет, так как тебе и говорят. хочешь без классов, хочешь вложенными классами, хочешь отдельными классами...
PM MAIL   Вверх
ZakroiSvoiRot
  Дата 23.4.2007, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди, здесь не совсем тему, но в всё же.. 
надо было сделать:
   Фрэйм, кнопка, диалог.
Сделал: 
   Фрэйм, кнопка, новый фрейм.
Да именно так, замес-то диалога новый фреим(как диалог).
Теперь вопрос:
Что прописать, что бы тыкаю на кнопку, прога проверяла создан ли новый диалог (у нас это новое окно) и если создан ,больше не создавать.
Ставить в 
Код

setVisible(false)
 по моему ошибочно. Ибо как окно всё равно создается(опять же расходуется память) но его просто не видно?

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


Опытный
**


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

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



Цитата

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


Singleton?


--------------------
user posted image
PM MAIL ICQ   Вверх
nornad
Дата 23.4.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Хватит просто сделать переменную и проверять её значение. Если нулл, то создавать. Если нет - просто видимость ставить.
А синглтон тут, имхо, незачем.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0584 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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