用于不同对象的单例JFrame

时间:2010-11-17 15:33:03

标签: java swing singleton

我有一个“MainWindow”,其中的表格概述了所有书籍。如果我选择一个条目(或多个条目)并单击“显示所选”,则会使用相应的对象(“DetailView”)打开新的JFrame。由于“MainWindow”仍处于活动状态,我可以打开相同的项目两次(同一个对象的两个“DetailView”)。

我想根据对象将其设为单个窗口:如果第二次选择相同的对象,我想将焦点放在已经打开的JFrame上。

我对java很新,所以这可能是错误的方法,可能已经包含在Swing-Framework中,尽管Google没有给我任何提示。

1 个答案:

答案 0 :(得分:2)

你需要某种“JFrame Registry”,一个简单的Map<Object, JFrame>,允许查找给定对象的正确JFrame。

每当您为对象创建JFrame时,都会使用对象(键)注册此帧(值)。只要有对象,就可以调用map.get(object)并接收正确的JFrame实例。