Проблема с легким компонентом над тяжелым компонентом - PullRequest
0 голосов
/ 08 ноября 2010

Код довольно большой и включает в себя множество различных классов / методов:

Но вот суть:

Есть основной кадр: A_Main Выбор чего-либо в основном кадре A:открывает JDialog B_Dialog Этот B_Dialog имеет JPanel на нем: C_Panel

Этот C_Panel состоит из текстового поля и кнопки

При нажатии на текстовое поле / кнопку: открывается всплывающая подсказка и другая JPanel: D_Panel

Теперь проблема заключается в следующем:

1) Подсказка переполняет размер B_Dialog и, следовательно, обрезается

2) D_Panel;даже если его внешняя граница B_Dialog отображается полностью

2.1) В этой D_Panel * имеются некоторые текстовые поля и раскрывающиеся меню

2.2) События мыши правильно функционируют в этих элементах D_Panel (раскрывающийся списокменю)

2.3) Но события клавиатуры не работают правильно (текстовое поле)

Я был бы рад, если бы вы могли помочь!

Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 ноября 2010

Это можно сделать только в новых версиях JDK.

См. Смешивание тяжелых и легких компонентов .

0 голосов
/ 08 ноября 2010

Теперь, когда я пытаюсь что-то ввести в текстовое поле JAR JPanel, я не могу этого сделать, так как это появляется за границей основного JDialog, который его содержит.

Добавьте JScrollPane вокруг JPanel и позвольте ему расширяться как по горизонтали, так и по вертикали. Если это не сработает, вам может понадобиться настраиваемый менеджер макетов или один из стандартных по умолчанию, например GridBagLayout.

Кроме того, вам необходимо получить фокус, прежде чем вы сможете вводить текст, но здесь это не проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...