Маленькое окно над компонентами - PullRequest
1 голос
/ 11 февраля 2012

Я уже смотрю на библиотеку Java и не знаю, что использовать для этого .. Я уже попробовал JInternalFrame, но это не то, что я действительно хочу .. потому что он должен быть добавлен в JDesktopPanel правильно ??

И в моей программе у меня есть JFrame с панелью содержимого с использованием BorderLayout .. Затем в пограничном центре у меня есть JTextArea, на пограничном участке на восток у меня есть список .. и на пограничном участке на юг у меня есть JPanel ..

Что я хочу, так это то, что когда я выполняю определенное действие, появляется всплывающее «мини-окно», в котором мне нужно что-то выбрать .. понимаете? и если я создам JDesktopLane, он будет перекрывать то, что у меня есть на контейнере ..

окно будет выполнено моей палитрой для выбора цвета, как сетка с цветами ... и надписью вверху с текстом.

Я просто не знаю, как сделать «окно» над другими компонентами, и пользователи все еще могут перетаскивать рамку и взаимодействовать со всеми другими компонентами .. jtextarea и такими ..

Я думаю, вы поняли, заранее большое спасибо !! Если ты что-то не понимаешь, пожалуйста, скажи мне, я действительно хочу сделать это :) Просто не знаю, что использовать ..

Еще раз спасибо;)

Ответы [ 3 ]

2 голосов
/ 11 февраля 2012

Это потому, что Jdialog не является компонентом, который нужно добавить в JFrame, это независимая вещь, работающая самостоятельно

, если вы используете JDialog, родительский параметр конструкции указывает, с каким фреймом связан JDialog.

2 голосов
/ 11 февраля 2012

Вы пробовали JDialog ?

1 голос
/ 11 февраля 2012

Типичным классом для этой задачи является JWindow, окно верхнего уровня без полей, которое можно свободно размещать. Вы можете использовать SwingUtilities.getPointFromComponent, чтобы получить экранные координаты для реализованной координаты.

Окна верхнего уровня (JFrame, JDialog, JWindow) не добавляются в контейнеры. Они могут получить другие окна как родительские.

Я не хочу использовать другой JFrame ... это немного плохо для кода, это маленькое окно с простой функцией ..

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

Почему другой JFrame (или другое окно) должен быть плохим?

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

...