Ich möchte eine einfache Event-Handling-Lösung in Java mit benutzerdefinierten Ereignissen schreiben. Ich habe nur GUI-basierte Beispiele gefunden, die bisher ActionListeners verwenden. Ich habe einen Code hinzugefügt, den ich in C# geschrieben habe.Ereignisbehandlung in Java vs in C#
möchte ich so etwas wie dies in Java erstellen:
using System;
using System.Threading;
namespace EventHandlingPractice
{
class Program
{
static void Main(string[] args)
{
MusicServer mServer = new MusicServer();
Sub subber = new Sub();
mServer.SongPlayed += subber.SubHandlerMethod;
mServer.PlaySong();
Console.ReadKey();
}
}
// this class will notify any subscribers if the song was played
public class MusicServer
{
public event EventHandler SongPlayed;
public void PlaySong()
{
Console.WriteLine("The song is playing");
Thread.Sleep(5000);
OnSongPlayed();
}
protected virtual void OnSongPlayed()
{
if (SongPlayed != null)
SongPlayed(this, EventArgs.Empty);
}
}
// this class is class is the subscriber
public class Sub
{
public void SubHandlerMethod(object sender, EventArgs e)
{
Console.WriteLine("Notification from: " + sender.ToString() + " the song was played");
}
}
}
Sie könnten dem Beobachtermuster folgen, das die Implementierung von ActionListeners ist. –