提出这个问题,我又将被说成大惊小怪…… 这儿b.addActionListener(this)就是添加的ActionListener类型的类,它内部只会调用和其有关的actionPerformed方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前提:JButton知道自己如果哭得话,会挨揍,被ActionListener揍。JButton.addActionListener添加的不是函数体,而是一个实例的引用,是告诉JButton:我(this)拥有ActionListener这个身份,你要敢哭就等着瞧!但是JButton并不知道,this(也就是JFrame1)还有别的功能,吃饭、睡觉等等等等。 同意楼上另外需要说明:b.addActionListener(new JFrame1())与b.addActionListener(this) 的效果是不一样的,如果你改成b.addActionListener(new JFrame1())的话将是一个无限循环,将内存溢出。 但在按钮b增加监听机制,也就是b.addActionListener(new JFrame1())的时候,怎么其它的函数体没有增加进去?????------------------------------------------------------------------------------------------public void actionPerformed(ActionEvent e){ JFrame newf=new JFrame();//产生一个没有标题的JFrame newf.setSize(200,200); newf.show(); }因为你在actionPerformed()这个方法里只做了这一点事情,其他的事情你没有指定,怎么会去做呢? 回复人: bonwei(阿邦) ( ) 信誉:100 同意楼上另外需要说明:b.addActionListener(new JFrame1())与b.addActionListener(this) 的效果是不一样的,如果你改成b.addActionListener(new JFrame1())的话将是一个无限循环,将内存溢出。-----------------------------------------------------------------我测试了一下,确实是这样,那是为什么?this具体代表的是什么呢? 因为你的b.addActionListener是写在JFrame1的构造函数里的,b.addActionListener(new JFrame1())的时候,又调起了JFrame1的构造函数一个递归,而且没有出口。this是说,当前的这个JFrame1实例new JFrame1()是创建新的JFrame1实例 hehe,提问题是好事,有谁会说你,但你老兄好像还是没学会怎么写问题的标题. flyforlove(为情飞) 是对的 有关java的问题 Array/Arrays 有什么区别? 2个类如何相互使用对方的方法,急! 关于数组取值的问题 关于HashSet的问题? 双击运行jar包的问题 序列化 about hashCode() ? wap乱码的问题 难度极大,高手请进,swing能定制一个这样的组件吗? 目录分隔符问题 各位高手,帮忙一下,解决时间问题
另外需要说明:b.addActionListener(new JFrame1())与b.addActionListener(this) 的效果是不一样的,如果你改成b.addActionListener(new JFrame1())的话将是一个无限循环,将内存溢出。
------------------------------------------------------------------------------------------
public void actionPerformed(ActionEvent e){
JFrame newf=new JFrame();//产生一个没有标题的JFrame
newf.setSize(200,200);
newf.show();
}
因为你在actionPerformed()这个方法里只做了这一点事情,其他的事情你没有指定,怎么会去做呢?
同意楼上
另外需要说明:b.addActionListener(new JFrame1())与b.addActionListener(this) 的效果是不一样的,如果你改成b.addActionListener(new JFrame1())的话将是一个无限循环,将内存溢出。-----------------------------------------------------------------
我测试了一下,确实是这样,那是为什么?
this具体代表的是什么呢?
b.addActionListener(new JFrame1())的时候,又调起了JFrame1的构造函数
一个递归,而且没有出口。this是说,当前的这个JFrame1实例
new JFrame1()是创建新的JFrame1实例
flyforlove(为情飞) 是对的