Java: Como posso adicionar um JMenu a um JPanel ou criar um botão de lista pendente?
-
05-09-2019 - |
Pergunta
Existe alguma maneira de adicionar um JMenuItem a um JPanel para que eu possa criar um botão para mostrar várias opções, como o botão últimas novidades em firefox, sob a barra de endereços?
Eu só pode adicionar JMenu e JMenuItems a um JMenuBar, JPopupMenu e outros JMenus e JMenuitems
Existe alguma maneira de criar em java swing um drop down JButton? (Aqueles com uma seta para baixo em sua esquerda que mostra mais opções para o usuário)
Agradecemos antecipadamente
Solução
Finnally i implementar o "botão mostrar opções" com um simples Jutton, e uma JPopupPane com as opções para mostrar:
No ActionPerformedListener do botão i escrever esse código:
popMenu.show(showOptionsButton,0,showOptionsButton.getHeight())
Ele funciona muito bem como um JMenu em um JMenuBar, mas não exatamente como um botão suspenso, no qual você pode executar uma ação pressionando o botão ou mostrar mais ações pressionando a seta para baixo. Eu acredito que isso pode ser feito Ussing dois botões "muito próximo", em seguida, usar o código acima no botão de seta, mas definindo o "botão de ação" como o componente de pop-up, para que os shows pop-up abaixo de ambos os botões.
Outras dicas
A JMenuBar
só deve ser adicionado a uma JFrame
(setMenuBar()
), não um JPanel
.
Uma gota balanço botão para baixo é o caminho a percorrer aqui.
Veja este artigo para uma boa discussão em várias proposições de implementação
alt texto http://blogs.sun.com/geertjan/resource /dropdownbutton1-jl.png
O uso drop-down acima o botão NetBeans UI Utilities API (platform7/modules/org-openide-awt.jar
em qualquer distribuição do NetBeans IDE). Você não precisa ter NetBeans para executá-lo:. Só que desta frasco de ter extraído a partir da instalação do NetBeans