永发信息网

java GUI和事件

答案:2  悬赏:40  手机版
解决时间 2021-02-02 20:52
源代码如下:
import java.awt.*;
import java.awt.event.*;
class TestKey{
public static void main(String[] args){
new MyFrame();
}
}

class MyFrame extends Frame{
TextField text = new TextField();
MyFrame(){
super("请按下键盘");
add(text);
pack();
setVisible(true);
//监听文本框中的键盘按下事件
text.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
System.out.println("您按下了键盘");
}
});
//监听窗体关闭事件
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
setVisible(false);
System.exit(0);
}
});
}
}

以上代码正常通过编译和执行,但是我在窗体退出事件的匿名类中如果将setVisible(false)改写为this.setVisible(false)就不能编译通过提示 cannot find symbol 找不到符号,是什么意思?难道this针对的是MyFrame这个类吗?如果是,setVisible依然是MyFrame中的方法啊,应该用this也可以啊!为什么不能编译通过呢?
最佳答案
在内部类 、或者内隐类的的代码中,this 指的是当前的内部类,WindowAdapter,所以会报错,如果不用this,由于内部类没有setVisible()方法,自然去寻找外部类中的方法,外部类的是Frame ,可以找到setVisible方法
全部回答
看看java的api吧,,,,,,jcheckbox ,文档里面还有例子的、、、、、、、、、面向对象的事件开发。。。。。。。不算很难的了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
豪爵铃木(大桥南路)地址在什么地方,我要处理
水浒传故事情节最精彩的是哪一段
eminem gwen stefani kings never die出这哪
在一段新建公路的边坡(甲)上移栽灌木和草本植
哈尔滨时尚烤吧我想知道这个在什么地方
燔妻子的意思是什么啊?知道的请说下!
单选题蝗虫的触须具有A.嗅觉和听觉B.触觉和嗅
恒通汽车销售公司地址在什么地方,我要处理点
春光双语幼儿园我想知道这个在什么地方
有关主语省略,非谓语的用法Apart from being
每顿吃饭还多,人却日渐消瘦,是什么原因
秀桀的意思是什么啊?知道的请说下!
不是在专卖店买的iphone可以到专卖店售后吗
没有酒精度红葡萄酒
家乐快餐我想知道这个在什么地方
推荐资讯
黻衣的意思是什么啊?知道的请说下!
林姓带登子取名,因为要按祖谱取名,到了我儿
鹌鹑宝宝怎么分公母
九江有动物园吗?地址在那
速洁国际洗衣地址在什么地方,我要处理点事
观睹的意思是什么啊?知道的请说下!
云碓的意思是什么啊?知道的请说下!
矜叹的意思是什么啊?知道的请说下!
汽车起步的时候松离合 要不要踩油门
林莉(1970-)的意思是什么啊?知道的请说下!
工商银行信用卡金卡用卡一月怎样提临额吗
肛塞润滑油问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?