【问题标题】:Is it possible to call Swing Listener's methods remotely via RMI or with other networking technology?是否可以通过 RMI 或其他网络技术远程调用 Swing Listener 的方法?
【发布时间】:2011-05-01 03:05:06
【问题描述】:

这些方法属于 ActionListener 和 PropertyChangeListener。我需要实现这两种情况,并且与其他摇摆类类似。

当模型发生一些变化时,服务器应该为每个客户端调用这个方法:

 public void propertyChange(PropertyChangeEvent evt) {
        for (AbstractViewPanel view: registeredViews) {
            view.modelPropertyChange(evt);
        }
    }

如果一个客户端发生事件,则应从服务器调用每个客户端 actionPerformed():

@Override
public void actionPerformed(ActionEvent e)  {
}

非常感谢任何帮助,

吉比拉拉

【问题讨论】:

    标签: java swing implementation rmi


    【解决方案1】:

    由于您在用户单击按钮时挂钩了动作侦听器,因此您可以将动作代码重构为单独的方法。然后您的 RMI 客户端接口只需调用该方法。

    它被称为委托模式。

    【讨论】:

    • 从服务器到其他客户端的传播怎么样,意味着其他客户端将如何获取有关此事件发生的更新(“按下按钮”),(不是这个字符串,而是真正的按钮按下)
    • 同样的事情,因为您使用 RMI,您必须以支持分页的方式设计您的系统。例如,总页数、偏移量、每页项目数等……如果您的 RMI 返回此类信息,那么您的逻辑将处理分页。 (对不同页面的每个请求都将进行循环,访问服务器并返回客户端)。 RMI 只是一个接口,您的应用程序决定您需要什么服务。
    • 分页、页数、偏移量、每页的项目数......对不起,我没有告诉你这对我来说是断章取义的。请保持上下文。
    • 好吧,研究一下分页,你就会明白我刚才所说的。您的应用程序(客户端)和(服务器端)应该尊重您“创建”的 API,使用委托模式来做您想做的事情。
    猜你喜欢
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    相关资源
    最近更新 更多