Есть ли способ реализовать раскрывающуюся кнопку в Java, но без реализации JMenuBar
? Мне нужно импортировать кнопку с всплывающим меню. Как я могу это сделать?
Выпадающее меню без JMenuBar
comment
Почему бы не нажать кнопку focusGained / button и не показать JPopMenu под кнопкой?
- person David Kroukamp   schedule 28.11.2012
comment
@DavidKroukamp, не знаю, почему ты не ответил на этот вопрос...
- person ryvantage   schedule 04.07.2013
Ответы (2)
Как заявил @DavidKroukamp, JPopupMenu должен помочь.
person
ryvantage
schedule
03.07.2013
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPopupMenu;
import javax.swing.JToggleButton;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
public class MenuButton extends JToggleButton {
JPopupMenu popup;
public MenuButton(String name, JPopupMenu menu) {
super(name);
this.popup = menu;
addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ev) {
JToggleButton b = MenuButton.this;
if (b.isSelected()) {
popup.show(b, 0, b.getBounds().height);
} else {
popup.setVisible(false);
}
}
});
popup.addPopupMenuListener(new PopupMenuListener() {
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {}
@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
MenuButton.this.setSelected(false);
}
@Override
public void popupMenuCanceled(PopupMenuEvent e) {}
});
}
}
person
luca
schedule
28.04.2015