Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:【求助】菜单响应问题让我很迷惑 [Re:jialichao]
lisliefor





发贴: 287
积分: 7
于 2006-05-24 20:41 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
首先自我反省一下! Smile
上面的回答有两个问题:
1. 首先,new MyListener()的位置,与该class的位置无关。我开始复制你的代码,调试的时候,“MyListener s = new MyListener();”报错的原因,可能在于我使用的工具是Eclipes,它一个缺陷是,如果机器性能不够,那么程序保存后,刷新率不够快,原本正确的代码,会报一些莫名的错误,而从新敲一遍(或粘贴)就没有问题。
2. 内隐类与两个类之间组合的优势就在于,使用外部类对象的时候,避免了类传值的问题。(Smile 上面刚好说反了!)

后来我从写了一遍,运行而且没有错误。
package help;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class MenuTest extends JFrame{
  
  Frame fr;
  MenuItem newf;
  MenuItem itmm;
  
  
  
  public MenuTest(){
   fr=this;
   MenuBar mb=new MenuBar();
   setMenuBar(mb);
  
   Menu file=new Menu("文件");
   itmm=new MenuItem("退出");
   file.add(new MenuItem("新建"));
   file.add(new MenuItem("打开"));
   file.add(new MenuItem("关闭"));
   file.add(new MenuItem("-"));
   file.add(itmm);
  
   itmm.addActionListener(new MyListener());
  
   mb.add(file);
   this.setSize(300,200);
   this.setVisible(true);
   }  
  public static void main(String[] args) {
      new MenuTest();
  }
  
  class MyListener implements ActionListener{
    public void actionPerformed(ActionEvent e){
      if(e.getSource()==itmm){
        System.exit(0);
      }
    }
  }
}

你上面代码无法实现的原因可能就在于:e.getSource()使用上,还有就是,加载在Frame上的组件,最好在构造函数外面声明,在里面初始化!(后面函数可能用到)。
误导你了,不好意思啊!呵呵,我水平也很菜啊! 一起学习..... :)




话题树型展开
人气 标题 作者 字数 发贴时间
4813 【求助】菜单响应问题让我很迷惑 jialichao 1052 2006-05-24 14:07
4437 Re:【求助】菜单响应问题让我很迷惑 lisliefor 1467 2006-05-24 18:42
4254 Re:【求助】菜单响应问题让我很迷惑 lisliefor 1356 2006-05-24 20:41
3851 Re:【求助】菜单响应问题让我很迷惑 jialichao 58 2006-05-27 11:49
3763 Re:【求助】菜单响应问题让我很迷惑 lhawk 7 2006-05-27 15:58
3932 Re:【求助】菜单响应问题让我很迷惑 pwc_beyond 11 2006-05-30 22:11

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2020 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号
客服电话 0592-8750026    客服信箱 714923@qq.com    客服QQ 714923