如何在Swing中处理来自另一个GUI窗口的事件

时间:2016-08-11 05:57:30

标签: java swing user-interface event-handling

我正在做一个小项目,它会计算来自.txt文件或网页的单词。 在做的时候,我遇到了一个问题。

有GUI窗口A,B

A在本地或网页中执行定位.txt文件。 B从目标执行打印文本,并提供用户是否开始计算文本中的单词的选项

因此,当用户点击B中的“字数”按钮时,用户可以看到A中每个单词的单词列表和单词计数。我希望用户尽快从B中获取Map<String word, Integer frequency>点击“字数统计”按钮,在A中的JList显示单词和频率。

问题是我无法想出如何处理A中B的事件。 我考虑的方法之一是创建一个A,B作为成员的类...但我无法继续......

P.S。我是韩国新手程序员。所以,请理解我糟糕的英语技能..

1 个答案:

答案 0 :(得分:0)

如果A和B是两个独立的GUI应用程序,则意味着您有两个独立的进程在运行。你需要的是“进程间”沟通。

从应用程序A,您继续在文件系统上写入数据。 从应用程序B,您只需从文件系统中读取数据并按照您的意愿使用。

编辑 -

查看评论,我可以建议您需要在多个线程中共享模型对象。

    class ModelObject{
    //This should hold your data in final fields. Make it immutable.
}

// You can make it singleton.
        Class SharedService{
Private volatile ModelObject model ;
   Public void write(ModelObject model);
  Public ModelObject read();
}

应用程序A使用SharedService写入数据,将数据封装到类ModelObject中。 应用程序B使用SharedService.get接口读取数据。