Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mencipta dan Mengendalikan Acara Tersuai di Java Menggunakan Corak Pemerhati?

Bagaimanakah Saya Boleh Mencipta dan Mengendalikan Acara Tersuai di Java Menggunakan Corak Pemerhati?

Linda Hamilton
Linda Hamiltonasal
2024-12-04 02:38:10893semak imbas

How Can I Create and Handle Custom Events in Java Using the Observer Pattern?

Membuat Acara Tersuai di Java

Di Java, adalah mungkin untuk mencipta acara tersuai untuk membolehkan objek berbeza berkomunikasi antara satu sama lain. Pertimbangkan senario di mana "objek 1" perlu mencetuskan tindakan apabila ia melakukan acara tertentu, seperti menyebut "hello" dan "objek 2" bertindak balas dengan mengakui peristiwa itu dengan mengucapkan "hello" sebagai balasan.

Untuk mencapai matlamat ini, anda boleh menggunakan corak pemerhati. Di bawah ialah contoh yang menunjukkan cara membuat dan mengendalikan acara tersuai:

import java.util.*;

// Define an interface for event listeners
interface HelloListener {
    void someoneSaidHello();
}

// Class that initiates the event (Object 1)
class Initiater {
    private List<HelloListener> listeners = new ArrayList<>();

    // Add an event listener
    public void addListener(HelloListener toAdd) { listeners.add(toAdd); }

    // Trigger the event
    public void sayHello() {
        System.out.println("Hello!!");

        // Notify all listeners
        for (HelloListener hl : listeners)
            hl.someoneSaidHello();
    }
}

// Class that listens to the event (Object 2)
class Responder implements HelloListener {
    @Override
    public void someoneSaidHello() { System.out.println("Hello there..."); }
}

// Main class
class Test {
    public static void main(String[] args) {
        Initiater initiater = new Initiater();
        Responder responder = new Responder();

        // Attach a listener to the initiator
        initiater.addListener(responder);

        // Trigger the event
        initiater.sayHello();  // Prints "Hello!!!" and "Hello there..."
    }
}

Dalam contoh ini, kelas Initiater melancarkan acara "Hello", yang dikendalikan oleh kelas Responder. Apabila Pemula berkata "hello," Responder membalas dengan "hello."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta dan Mengendalikan Acara Tersuai di Java Menggunakan Corak Pemerhati?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn