Java添加事件监听的方法及代码实例

一、Java事件监听处理--匿名内部类处理

 class frame1 extends JFrame  {
 private JButton btdialog;
public frame1(){
setTitle("事件监听器");
setBounds(100,100,500,400);
 btdialog = new JButton("窗口");
//添加事件监听器对象(此处即为匿名类)
btdialog.addActionListener(new ActionListener(){
//事件处理
@Override
public void actionPerformed(ActionEvent e){

JDialog dialog = new JDialog();
dialog.setBounds(300,200,400,400);
dialog.setVisible(true);
}
});
//将按钮添加到JFrame中,此时是默认布局格式
add(btdialog);

//JFrame必备的两条语句,显示和自动退出
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

二、Java事件监听处理--自身实现ActionListener接口,作为事件监听器

代码实例:

 class frame1 extends JFrame implements ActionListener {
private JButton btdialog;
public frame1(){            //构造方法
setTitle("事件监听器");
setBounds(100,100,500,400);
btdialog = new JButton("窗口");
//将按钮添加到事件监听器
btdialog.addActionListener(this);

//将按钮添加到JFrame中,此时是默认布局格式
add(btdialog);

//JFrame必备的两条语句,显示和自动退出
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
//*******************事件处理*********************//


@Override  //用于重写父类方法,避免方法名跟参数写错,检查方法的正确性。不会对运行有影响
public void actionPerformed(ActionEvent e) {

if (e.getSource() == btdialog){

JDialog dialog = new JDialog();
dialog.setBounds(300,200,400,400);
dialog.setVisible(true);
}
}

}

三、Java事件监听处理--内部类处理

class frame1 extends JFrame  {
private JButton btdialog;
public frame1(){
setTitle("事件监听器");
setBounds(100,100,500,400);
btdialog = new JButton("窗口");
//添加事件监听器对象(面向对象思想)
btdialog.addActionListener(new DialogEventListener());

//将按钮添加到JFrame中,此时是默认布局格式
add(btdialog);

//JFrame必备的两条语句,显示和自动退出
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
//内部类 DialogEventListener,实现ActionListener接口
class DialogEventListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
JDialog dialog = new JDialog();
dialog.setBounds(300,200,400,400);
dialog.setVisible(true);
}
}

四、Java事件监听处理--外部类处理

class frame1 extends JFrame  {
private JButton btdialog;
public frame1(){
setTitle("事件监听器");
setBounds(100,100,500,400);
btdialog = new JButton("窗口");
//添加事件监听器对象(面向对象思想),和内部类 类似,不过DialogEventListener在frame1的类声明范围外
btdialog.addActionListener(new DialogEventListener());

//将按钮添加到JFrame中,此时是默认布局格式
add(btdialog);

//JFrame必备的两条语句,显示和自动退出
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}


}
//外部类 DialogEventListener,实现ActionListener接口
class DialogEventListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e){

JDialog dialog = new JDialog();
dialog.setBounds(300,200,400,400);
dialog.setVisible(true);
}

}

注:

在以上各段代码上,加上

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class sada {
public static void main(String[] args) {
frame1 frame = new frame1();
}

}

程序完整

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页