[英]Java actionlistener actionPerformed in different class
我有兩個類:主要的一個和稱為“窗口”的一個。 Window類中有一些按鈕,是否可以讓“ main”類知道發生了什么? 簡而言之,“窗口”類中的按鈕應觸發主類中的某些內容。
還是應該在“窗口”類中鍵入所有內容?
對的,這是可能的。 ActionListener
是接口,因此您可以讓“主要”類實現此接口,並將其作為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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.