新手请问一个Java小问题

thomashe 2006-06-26 04:55:38
菜单(不是菜单项)加ActionListener为什么不行,应该加什么样的event listener,实现直接点击菜单完成命令,我的代码类似:
...
//菜单
JMenu exitMenu = new JMenu("Exit");
exitMenu.addActionListener(new ExitListener());
menuBar.add(exitMenu);
//为该菜单定制的listener
class ExitListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
}
...

高手请赐教,感谢先!
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
thomashe 2006-06-26
  • 打赏
  • 举报
回复
可能是greenteanet兄台刚才没看清楚吧,给了个菜单项的实现,我问的是菜单上的实现,刚才我查了一下Doc文档,弄明白了,应该使用实现MenuListener接口的listener来处理,而不是ActionListener接口,菜单和菜单项以及按钮等在处理上还是不一样。

不过还是要感谢一下
greenteanet 2006-06-26
  • 打赏
  • 举报
回复
// "Tools"菜单项
toolCheckBoxMenuItem.setState(true);
toolCheckBoxMenuItem.setMnemonic('T');
KeyStroke keyStrokeT = KeyStroke.getKeyStroke(KeyEvent.VK_T,
Event.ALT_MASK);
toolCheckBoxMenuItem.setAccelerator(keyStrokeT);
toolCheckBoxMenuItem.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
if (toolCheckBoxMenuItem.isSelected()) {
VRPaintPanel.showInternalFrame(internalToolsFrame);
// 显示原来的布局
showOriginState();
statusBar.setText("Tools Internal Frame Show.");
} else {
VRPaintPanel.hideInternalFrame(internalToolsFrame);
// Canvas窗口最大化
showPaintMaximum();
statusBar.setText("Tools Internal Frame Hide.");
}
}
});

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧