Swing 不带JMenuBar的下拉菜单

Swing 不带JMenuBar的下拉菜单,swing,button,drop-down-menu,popupmenu,jmenubar,Swing,Button,Drop Down Menu,Popupmenu,Jmenubar,有没有一种方法可以在Java中实现下拉按钮,但不实现JMenuBar? 我需要导入一个带有弹出菜单的按钮。我该怎么做呢?正如@DavidKroukamp所说的,一个JPOppMenu应该可以做到这一点。 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JPopupMenu; import javax.swing.JToggleB

有没有一种方法可以在Java中实现下拉按钮,但不实现
JMenuBar

我需要导入一个带有弹出菜单的按钮。我该怎么做呢?

正如@DavidKroukamp所说的,一个JPOppMenu应该可以做到这一点。

    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) {}
            });
        }
    }

为什么不在FocusGain/按钮上单击一个按钮,并在按钮下面显示一个JPopMenu?@DavidKroukamp,不知道你为什么不回答这个问题。。。