Java: Как я могу добавить JMenu в JPanel или создать кнопку раскрывающегося списка? - PullRequest
6 голосов
/ 08 апреля 2009

есть ли способ добавить JMenuItem в JPanel, чтобы я мог создать кнопку для отображения нескольких вариантов, например кнопку последних новостей в Firefox, под адресной строкой?

Я могу добавить только JMenu и JMenuItems в JMenuBar, JPopupMenu и другие JMenus и JMenuitems

Есть ли способ создать в Java Swing раскрывающийся список Jbutton? (со стрелкой вниз слева, которая показывает больше опций пользователю)

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 08 апреля 2009

В итоге я реализую «кнопку выбора параметров» с помощью простого Jutton и JPopupPane с параметрами для отображения:

В ActionPerformedListener кнопки я пишу этот код:

popMenu.show(showOptionsButton,0,showOptionsButton.getHeight())

Он отлично работает как JMenu в JMenuBar, но не совсем как выпадающая кнопка, в которой вы можете выполнить действие, нажав кнопку, или показать больше действий, нажав стрелку вниз. Я полагаю, что это можно сделать, используя две кнопки «очень близко», затем используйте приведенный выше код в кнопке со стрелкой, но установите «кнопку действия» в качестве компонента всплывающего окна, чтобы всплывающее окно показывалось ниже обеих кнопок. *

3 голосов
/ 08 апреля 2009

A JMenuBar следует добавлять только к JFrame (setMenuBar()), а не к JPanel.

Раскрывающаяся кнопка «Свинг» - это то, что нужно.

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

альтернативный текст http://blogs.sun.com/geertjan/resource/dropdownbutton1-jl.png

В приведенной выше раскрывающейся кнопке используется API утилит пользовательского интерфейса NetBeans (platform7/modules/org-openide-awt.jar в любом выпуске IDE NetBeans). Вам не нужно иметь NetBeans для его запуска: только этот jar, извлеченный из установки NetBeans.

...