簡體   English   中英

Java actionlistener action在不同的類中執行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM