有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java GUI/应用程序通信

处理GUi/内部应用程序通信的最佳方式是什么。我有许多处理数据的底层线程,并希望将它们的输出发布到gui

我是否应该拥有我所有可运行程序所拥有的某种处理程序对象,然后将它们发布到该对象,以便它能够处理gui的输出


共 (2) 个答案

  1. # 1 楼答案

    我通常使用observer pattern进行这种交流。因此,线程类基本上实现了一个公共接口(addObserver()),使它们可以被观察到,而GUI控制器/视图实现了观察者接口(fireNewEvent())。如果一个线程产生了某种新内容,它会在观察者上调用一个方法。根据您的项目,要呈现的信息可以推送到观察者那里(例如fireNewEvent(事件e)),或者观察者可以自己访问信息()。基本上这是你的想法,再加上通知多个观察者(如果需要)的灵活性

  2. # 2 楼答案

    如果您使用线程来避免在执行长任务时冻结UI,SwingWorker可以帮助您