Вопрос

Я пытаюсь построить конкретный JMenuАнкет я хочу JMenuItem с JMenu Функциональность, т.е. Когда мы нажимаем на него, элемент должен что -то сделать (например, открытие диалога). Но JMenuItem также должен содержать кнопку (или другой компонент), которая при нажатии на ее нажимает, должна открыть всплывающее окно с парой параметров.

Итак, до сих пор у меня есть что -то вроде этого:

Desired UI

Это то, что я имею перед нажимом на стрелку.

Моя проблема в том, что когда я нажимаю кнопку (стрелка), подменю фактически открывается, но элемент меню, содержащий эту кнопку, закрывается, потому что теряет фокус.

Broken UI

Это результат после нажатия в кнопке стрелки.

Есть ли способ справиться с этим? Или лучший способ иметь такое поведение?

Это было полезно?

Решение 4

На самом деле не мог найти решение для этой конкретной проблемы. В качестве обходного пути я использовал простой кнопку, которая переключается между опцией 1 и опцией 2, вместо того, чтобы иметь кнопку (стрелка), которая открывает новое всплывающее окно. Большое спасибо за твою помощь.

Другие советы

Мы можем направить вас, если мы точно знаем, что вы пытаетесь реализовать. Если вы просто хотите выбрать опцию, вы можете реализовать это лучше с помощью JRadioButtonMenuItem, поэтому вам не нужно реализовать кнопку, а затем выбирать опцию. Но это зависит от того, чего вы действительно хотите.

Это не то, для чего предназначено меню. Использовать лента Вместо этого, и эти вещи будут простыми и естественными.

Почему бы просто не использовать простые вложенные JMenuItem вместо? Что-то типа это (Первый экран сверху).

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top