在Java中单击按钮创建菜单

Dan*_*ath 3 java user-interface

对于一个项目,我们想要创建一个按钮,当它被点击时会产生一个小菜单(它的工作方式类似于Firefox中的后退按钮的下拉菜单,尽管激活的方式是简单的左键单击).唯一真正的限制是它必须是Java(如果可能的话,最好是摆动).那么,任何想法,例子,代码如何做到这一点?

And*_*son 11

用一个JPopupMenu.例如

PopUpMenuDemo.java

import java.awt.event.*;
import javax.swing.*;

class PopUpMenuDemo {

    public static void main(String[] args) {

        Runnable r = new Runnable() {
            public void run() {
                final JButton b = new JButton("Pop Up");

                final JPopupMenu menu = new JPopupMenu("Menu");
                menu.add("A");
                menu.add("B");
                menu.add("C");
                b.addActionListener( new ActionListener() {
                    public void actionPerformed(ActionEvent ae) {
                        menu.show(b, b.getWidth()/2, b.getHeight()/2);
                    }
                } );
                JOptionPane.showMessageDialog(null,b);
            }
        };
        SwingUtilities.invokeLater(r);
    }
}
Run Code Online (Sandbox Code Playgroud)

截图

在此输入图像描述