Tag: addeventlistener

是否可以在包含多个侦听器类型的Java中创建自己的事件侦听器列表?

我正在实现一个客户端 – 服务器系统,其中客户端处于连续阻塞读取循环中,侦听来自服务器的消息。 当收到消息时,我想根据消息的类型引发“事件”,其他GUI类可以添加监听器。 我对C#事件更熟悉,所以我仍然习惯于Java的做事方式。 将有许多消息类型,所以我将需要每个接口,称为MessageTypeAListener,MessageTypeBListener等,每个都将包含一个句柄方法,我的GUI类将实现。 但是,将会有许多类型,而不是维护每种类型的侦听器列表,并且有几个“fire”方法,我想要一个大的侦听器列表和一个类型化的fire方法。 然后,fire方法可以说“只有那些类型是我指定的火灾听众”。 所以例如(伪代码): ListenerList.Add(MessageTypeAListener); ListenerList.Add(MessageTypeBListener); fire(message) { ListenerList.Where(type is T).handle(message) } … fire(message); 但是,类型擦除似乎使这很困难。 我可以尝试投射和捕获exception,但这似乎是错误的。 是否有一种干净的方式来实现这一点,或者为每种类型保留一个单独的侦听器列表更为明智,即使有大量的类型?

如何使用事件监听Java(JFreeChart)中的点击?

这是我目前使用的代码: @Override public void mouseExited(MouseEvent e) { System.out.println(“detectado”); }