Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > MDI окна


Автор: Elfix 6.7.2008, 11:27
Доброго времени суток.

Необходимо создать главную форму JFrame и по нажатию по элементам меню создавать внутренние дочерние окна. Если закрывается главное окно, то закрываются и все внутренние, если внутренние окна максимизированы, то должны быть средства для их закрытия (крестик справа). Т. е. иммитировать настоящие MDI окна как в Windows.

Как это делается на Java? Если можно, дайте небольшой пример кода.

Автор: goodday1941 6.7.2008, 12:25
смотрем в сторону http://java.sun.com/docs/books/tutorial/uiswing/components/internalframe.html

Автор: powerOn 6.7.2008, 13:53
Примеры есть http://www.java2s.com/Code/Java/Swing-JFC/InternalFrame.htm.

Автор: Animator 6.7.2008, 14:41
Как мне кажется по личному опыту то лучше MDI окнами не пользоватся. 
На мой взгляд лучше воспользоватся http://java.sun.com/docs/books/tutorial/uiswing/components/tabbedpane.html. 
Там кстати есть пример как поставить крестик на вкладку.

Автор: goodday1941 6.7.2008, 15:20
Цитата(Animator @  6.7.2008,  14:41 Найти цитируемый пост)
Как мне кажется по личному опыту то лучше MDI окнами не пользоватся. 
На мой взгляд лучше воспользоватся вкладками . 
Там кстати есть пример как поставить крестик на вкладку. 

абсолютно не согласен.. тоже из собственного опыта... одно другое не исключает

Автор: Elfix 6.7.2008, 17:18
А как расширить дочернее окно на всю область экрана?
У JInternalFrame нет метода setExtendedState :(

Автор: Animator 6.7.2008, 22:01
goodday1941,
странно почему последние браузеры и IDE используют именно вкладки.

Автор: w1nd 8.7.2008, 00:03
Цитата(Animator @  6.7.2008,  14:41 Найти цитируемый пост)
Как мне кажется по личному опыту то лучше MDI окнами не пользоватся. На мой взгляд лучше воспользоватся вкладками.

Целиком и полностью согласен. Функционал для управления внутренними окнами не востребован в 99,9% случаев.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)