El estudio de programación de la GUI señala tres AWT relacionadas (monitoreo de eventos de botón)

El estudio de programación de la GUI señala tres AWT relacionadas (monitoreo de eventos de botón)


Cerrar ventana de monitoreo de eventos, botón de monitoreo de eventos

package pers.ylw.lesson02;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestActionEvent {

    public static void main(String[] args) {
        Frame frame = new Frame();
        Button button = new Button();

        //按下按钮,触发事件
        //因为addActionListener()需要一个ActionListener,所以我们需要构造一个ActionListener
        MyActionListener myActionListener = new MyActionListener();
        button.addActionListener(myActionListener);

        frame.add(button,BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
        windowClose(frame); //关闭窗口,自定义方法

    }

    //关闭窗体事件
    private static void windowClose(Frame frame){
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
}

//事件监听,自己写一个类实现接口
class MyActionListener implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("aaa");
    }
}

Múltiples botones, compartiendo una clase de monitoreo de eventos

  • por setActionCommand()ygetActionCommand()
package pers.ylw.lesson02;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

//两个按钮,共享一个监听类
public class TestAction2 {
    public static void main(String[] args) {

        Frame frame = new Frame("开始-停止");
        Button button1 = new Button("start");
        Button button2 = new Button("stop");

        //设置按钮触发时返回的命令,不设置默认为button的label
        //可以多个按钮只写一个监听类,在类里根据返回的命令判断执行什么
        button2.setActionCommand("button2-stop");

        MyMonitor myMonitor = new MyMonitor();
        button1.addActionListener(myMonitor);
        button2.addActionListener(myMonitor);

        frame.add(button1,BorderLayout.NORTH);
        frame.add(button2,BorderLayout.SOUTH);

        frame.pack();
        frame.setVisible(true);
    }
}

class MyMonitor implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        //getActionCommand()获取前面的setActionCommand(), 可以与if结合使用来进行不同的操作
        System.out.println("按钮被点击了:msg=>" + e.getActionCommand());
    }
}

318 artículos originales publicados · Me gusta 44 · Visitantes más de 20,000

Supongo que te gusta

Origin blog.csdn.net/qq_43594119/article/details/105680170
Recomendado
Clasificación