1
menuBar = new JMenuBar();
// File Menu
JMenu fileMenu = new JMenu("File");
menuBar.add(fileMenu);
// File->New
JMenuItem newMenuItem = new JMenuItem("New");
frame.setJMenuBar(menuBar);
newMenuItem.addMouseListener(new MouseAdapter() {
    @Override
    public void mousePressed(MouseEvent arg0) {
        btnExample.setText("Clicked");
        btnExample.doClick();
    //---------->SOME HOW TO EXECUTE btnExample<---------//
}
});
fileMenu.add(newMenuItem);

final JButton btnExample = new JButton("SD");
frame.getContentPane().add(btnExample, "cell 4 0,growx,aligny top");
btnExample.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent arg0) {
    spinnerForVar.setValue(4);//default value for spinner
    spinnerForFunc.setValue(4);//default value for spinner
    ...             
  }
});

こんにちは!誰かが私を助けてくれることを願っています。ここに問題があります。メニュー項目「新規」があり、ボタン btnExample があります。次のものが必要です。「ファイル->新規」をクリックすると、btnExample が実行されます。私のコードは、ボタンのタイトルを変更し、クリックの視覚効果を表示することしかできません。しかし、どうすれば実際に実行できますか?

4

4 に答える 4

8

アドバイスは 1 つだけです。そうしないでください。この方法で GUI コンポーネントをバインドしないでください。

2 つのコンポーネントで同じ操作を実行する場合は、この操作をメソッドにパックし、両方のコンポーネントからメソッドを呼び出すだけです。

また、ActionListener を使用してください。ユーザーがキーボードではなくマウスを使用してそれを押すと確信していますか? これらのボタン/コンポーネントにショートカットを追加するとどうなりますか?

于 2011-05-14T14:06:12.260 に答える
2
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    //My button to click on it

    jButton1ActionPerformed(evt);//this is the call for the other button to execut it
}
于 2011-07-26T09:30:29.350 に答える
1

これには MouseListener を使用しないでください。

アクションを使用する必要があります。次に、アクションを JButton と JMemuItem の両方に追加できます。

How to Use Actionsに関する Swing チュートリアルのセクションを読んでください。

于 2011-05-14T14:55:53.583 に答える