Je souhaite écrire une solution de gestion d'événements simple en Java avec des événements personnalisés. J'ai seulement trouvé des exemples basés sur l'interface graphique, en utilisant ActionListeners jusqu'à présent. J'ai inclus un code, que j'ai écrit en C#.Gestion d'événements en Java vs en C#
Je veux créer quelque chose comme ceci en Java:
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");
}
}
}
Vous pouvez suivre le modèle d'observateur qui est l'implémentation de ActionListeners. –