0

Jbutton をクリックしたときにメニュー項目のリストを表示する方法はありますか? たとえば、ラベルが付けられた Jbutton をクリックすると、この例wrenchのように、2 つのオプションを含むメニュー項目リストが表示されます。これが私のコードです(強調されたテキストは、クリックしたときにメニュー項目リストを表示したいボタンです):**

appletFrame = new JFrame(Settings.serverName);
        Loader.webclient = false;
        appletFrame.setLayout(new BorderLayout());
        appletFrame.setDefaultCloseOperation(3);
        JPanel appletPanel = new JPanel(new BorderLayout()); 
        appletFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/resources/icon.png")));
        appletPanel.add(this);
        appletPanel.setPreferredSize(new Dimension(767, 655));
        appletFrame.getContentPane().add(appletPanel, BorderLayout.CENTER);
        appletFrame.pack();
        appletFrame.setLocationRelativeTo(null);
        appletFrame.setVisible(true);
        JMenuBar jmenubar = new JMenuBar();
        appletPanel.add(jmenubar, BorderLayout.PAGE_START); 
        layout = new FlowLayout();
        **ImageIcon wrench = new ImageIcon(Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/resources/wrench.png")));**
        ImageIcon key = new ImageIcon(Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/resources/key.png")));
        JButton button1 = new JButton("Vote");
        JButton button2 = new JButton("Item List");
        JButton button3 = new JButton("Screenshot");
        **JButton button4 = new JButton(wrench);**
        JButton button5 = new JButton(key);
        **button4.setBorder(null);
        **button4.setBorderPainted(false);**
        **button4.setContentAreaFilled(false);**
        button5.setBorder(null);
        button5.setBorderPainted(false);
        button5.setContentAreaFilled(false);
        jmenubar.setLayout(layout);
        jmenubar.add(button1);
        jmenubar.add(button2);
        jmenubar.add(button3);
        **jmenubar.add(button4);**
        jmenubar.add(button5);
        button1.addActionListener(this);
        button2.addActionListener(this);
        button3.addActionListener(this);
        **button4.addActionListener(this);**
        button5.addActionListener(this);
4

1 に答える 1

0

SplitButtonが必要ですか?次に、いくつかの実装されたパッケージ(Netbeans UIコンポーネントを含む)があります。あなたはそれらを気に入るかもしれません。

そのための小さなパッケージが必要な場合は、次のリンクをご覧ください: http ://code.google.com/p/jsplitbutton/

于 2012-05-21T01:53:58.953 に答える