gpt4 book ai didi

Java actionlistener action在不同的类中执行

转载 作者:行者123 更新时间:2023-11-30 08:29:29 24 4
gpt4 key购买 nike

我有两个类:主类和一个名为“窗口”的类。Window 类中有一些按钮,是否可以让“主”类知道发生了什么?简而言之,“Window”类中的按钮应该触发主类中的一些内容。

或者我应该只在“Window”类中输入所有内容吗?

最佳答案

是的,这是可能的。 ActionListener 是接口(interface),所以你可以让“main”类实现这个接口(interface),并在Windows类构造函数中将它作为参数传递给Window类。
以下代码片段可以帮助您:

主类:

package test;

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

public class Main implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
//button clicked, so do you job here

}
}

Windows 类:

package test;

import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JPanel;

public class Window extends JPanel
{
public Window(ActionListener listener)
{
JButton b = new JButton("Button 1");
b.addActionListener(listener);
add(b);

//do other stuff
}
public static void main(String[] args)
{
Window w = new Window(new Main());
//continue with initialization process
}
}

关于Java actionlistener action在不同的类中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com