我刚刚学习java, 发现有这样的代码。它的意思是为
textArea添加一个时间监听,但是这个代码从语法上面好怪啊,那位可以帮忙解释一下吗?还有就是processTextArea是在那里实现的啊?是在textArea所在的类里面写的吗?因为我也看见这个类在上面也有定义了processTextArea函数
谢谢哦 textArea.addKeyListener(
new KeyAdapter() {
public void keyTyped(KeyEvent e) {
processTextArea();
}
}
textArea添加一个时间监听,但是这个代码从语法上面好怪啊,那位可以帮忙解释一下吗?还有就是processTextArea是在那里实现的啊?是在textArea所在的类里面写的吗?因为我也看见这个类在上面也有定义了processTextArea函数
谢谢哦 textArea.addKeyListener(
new KeyAdapter() {
public void keyTyped(KeyEvent e) {
processTextArea();
}
}
看一下源代码吧
---------
都看见上面定义了,还来问?不就是这个方法吗
等效于下面代码
class MyKeyAdapter extends KeyAdapter
{
public void keyTyped(KeyEvent e) {
processTextArea();
}
}
textArea.addKeyListener(new MyKeyAdapter());
但是匿名类调用的是上级类的方法?
也就是processTextArea调用的是上级类中的函数?
感觉比较奇怪啊
一般的调用:textArea.addKeyListener(new MyKeyAdapter());
这里直接在new MyKeyAdapter()后加个{}把它给实现了,{}中放置了类中定义的方法。
textArea.addKeyListener(new MyKeyAdapter()
{
public void keyTyped(KeyEvent e) {
processTextArea();
}
});
你少了);