为什么在java每个按钮触发的都是一样的事件,怎么解决

我写的一个程序,里面的多个按键按下之后,都是触发了同一个事件,请大家帮我解决,谢谢这里是按键的代码部分:JMenuItemfile1=newJMenuItem("新建")... 我写的一个程序,里面的多个按键按下之后,都是触发了同一个事件,请大家帮我解决,谢谢

这里是按键的代码部分:
JMenuItem file1=new JMenuItem("新建");
JMenuItem file2=new JMenuItem("打开");
JMenuItem file3=new JMenuItem("保存");
JMenuItem file4=new JMenuItem("另存为");
JMenuItem file5=new JMenuItem("退出");

JMenuItem edit1=new JMenuItem("剪切");
JMenuItem edit2=new JMenuItem("复制");
JMenuItem edit3=new JMenuItem("黏贴");

JMenuItem o1=new JMenuItem("字体");
JMenuItem help1=new JMenuItem("关于记事本");

file1.addActionListener(this);
file2.addActionListener(this);
file3.addActionListener(this);
file3.addActionListener(this);
file4.addActionListener(this);
file5.addActionListener(this);
edit1.addActionListener(this);
edit2.addActionListener(this);
edit3.addActionListener(this);
o1.addActionListener(this);
help1.addActionListener(this);
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("新建"));
...
...
展开
 我来答
希茜Cqa68
2009-05-29 · TA获得超过1238个赞
知道小有建树答主
回答量:860
采纳率:0%
帮助的人:1076万
展开全部
一个小例子(选摘):

public void actionPerformed(ActionEvent e) {
String arg=e.getActionCommand();
//添加照片
if(arg.equals("添加照片")){
myAddPhotoDialog.showDialog(this);
}
//修改照片信息
if(arg.equals("修改照片信息")){
myModifyPhotoInfDialog.showDialog(this);
}
//删除照片
if(arg.equals("删除照片")){
myRemovePhotoDialog.showDialog(this);
}
//按照片标题排序
if(arg.equals("按照片标题搜索")){
mySearchPhotoDialog.showDialog(this);
}

}
山楂小子
2009-05-29 · TA获得超过192个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:224万
展开全部
每一个按键添加不同的事件监听器啊,如下面写的用匿名内部类来实现即可
file1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("新建");
。。。
}
});
file2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("打开");
。。。
}
});
。。。
这里就不一一举例了。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freish
2009-05-29 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2703万
展开全部
public void actionPerformed(ActionEvent e) {
System.out.println(e.getActionCommand());
if(e.getActionCommand().equals("新建"));

打印一下e.getActionCommand()吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友24e4c6f3b
2009-05-30 · TA获得超过177个赞
知道答主
回答量:326
采纳率:0%
帮助的人:137万
展开全部
1楼的是另外实现按钮接口,用getActionCommand()拿到点按钮时的字符串,然后用equals比较字符串来判断分开执行什么,这个比较好理解啦,3楼用的是匿名类的办法直接就在添加按钮的时候就实现了按钮接口,这个办法不用另外实现接口了.这个办法比较难理解.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式