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。我想要以下内容:当我点击“File-&gt; New”时,它会执行btnExample。我的代码只能更改按钮标题并显示单击的视觉效果。但是我怎么能真正执行呢?
答案 0 :(得分:8)
我只有一个建议 - 不要这样做。不要以这种方式绑定GUI组件。
如果您希望两个组件执行相同的操作,只需将此操作打包到方法中,然后从两个组件中调用该方法。
另外,使用ActionListener - 你确定用户要使用鼠标而不是键盘按下它吗?如果您为这些按钮/组件添加快捷方式该怎么办?
答案 1 :(得分: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
}
答案 2 :(得分:1)
你不应该使用MouseListener。
您应该使用Actions。然后,您可以将Action添加到JButton和JMemuItem。
阅读How to Use Actions上的Swing教程中的部分。
答案 3 :(得分:0)
答案 4 :(得分:0)
太神奇了,我在您的代码中找到了解决方案!
btnExample.doClick();
这为我做了工作