java 下拉框 响应_JAVA给下拉菜单添加事件响应

首先内隐类的位置,应该放在为它生成对象之前(即放在MyListener s = new MyListener)之前。 使用内隐类的典型做法是,外围的class有一个函数,可以传回一个reference指向这个内部类。你正好用到了这点,一个不错的尝试。 ^_^ 有两个问题,不知道你考虑过没有,首先e.getSource()这个方法返回的类型是一个Object,而非字符串,“e.getSource()=="新建"”,好像不能比较吧!而且我也尝试过来。一般用法是e.getSource()==t (t为一个发生鼠标时间的组件)。 第二个问题,内隐类中,如果要涉及到外部类的对象时,如果将当前对象传递进来呢?(以前我为这个问题而苦恼。)那么,这样的做法,跟你使用类的组合有什么区别? 呵呵,你热切希望实践新学的东西的心情,我能理解,跟你一样我也是一个热爱Java的初学者。 :) 如果是我,我会这样写关于菜单的相应问题。 package help; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MenuTest extends JFrame{      Frame fr;   MenuItem newf;   MenuItem itmm;      ActionListener listen = new ActionListener(){     public void actionPerformed(ActionEvent e){       if(e.getSource()==itmm){         System.exit(0);       }     }   };      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(listen);       mb.add(file);    this.setSize(300,200);    this.setVisible(true);    }     public static void main(String[] args) {       new MenuTest();   } } /* *     一般简单的程序建议使用awt的组件,效率更高一点。光加载“import javax.swing.*;” *     这些东西就够受的了。 *     热切希望和所有热爱Java的朋友一起学习,一起进步! ^_^ * */

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值