package org.zhou.hello.chapcter14_1;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;public class SimpleEventDemo extends JFrame{
public SimpleEventDemo(){
JButton jbtOK=new JButton("OK");
setLayout(new FlowLayout());
add(jbtOK);
OKListener listener=new OKListener(); jbtOK.addActionListener(listener);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame=new SimpleEventDemo();
frame.setTitle("SimpleEventDemo");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(220, 80);
frame.setVisible(true);
}}将红色的代码改成ActionListener listener=new OKListener();运行上没有区别OKListener的实现:package org.zhou.hello.chapcter14_1;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class OKListener implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("It is OK");
}
}
既然ActionListener是接口为什么可以在上面的类中实例化?
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;public class SimpleEventDemo extends JFrame{
public SimpleEventDemo(){
JButton jbtOK=new JButton("OK");
setLayout(new FlowLayout());
add(jbtOK);
OKListener listener=new OKListener(); jbtOK.addActionListener(listener);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame=new SimpleEventDemo();
frame.setTitle("SimpleEventDemo");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(220, 80);
frame.setVisible(true);
}}将红色的代码改成ActionListener listener=new OKListener();运行上没有区别OKListener的实现:package org.zhou.hello.chapcter14_1;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class OKListener implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("It is OK");
}
}
既然ActionListener是接口为什么可以在上面的类中实例化?
解决方案 »
- 以下是java中的哪些异常?
- ubuntu netbeans 6.5 attach debugger "no route to host"的问题
- 求一个 框架写的项目 要完整的
- ‘protected’ means all classes ...出自哪本书
- 我需要一份工作,在一年半的时间里,我应该学习哪门语言??
- (在线等待)急,明天要去面试了,不知道远程教育软件需要什么技术,求救,急
- Weblogic安装问题,怪异
- 谁有Apache2.0和Tomcat4.1协同工作的配置方法,谢谢!!!!!!!!!!
- 哪里有jai包下载
- 请问,怎么通过java调一个excel文件打印命令(在window中)?谢
- 创建ObjectOutputStream和ObjectInputStream对象顺序
- mysql sql插入语句问题 java
而OKListener是实现了ActionListenner的。所以这么写是正确的。
不过直接的
ActionListener listener=new ActionListener (); 就是错误的了。
OKListener listener=new OKListener(); 接口可以指向它的实现类,上只是引用类型不一样,listener调用方法都是OKListener对象的