我们可以在同一应用程序的其他实例中重用Java Swing应用程序组件吗?

时间:2010-12-03 09:40:56

标签: java design-patterns swing

我们有一个Java Swing应用程序,它包含JTable,JCombobox,JTextArea等组件以及许多其他Swing组件。

现在需要说我们需要创建相同Java Swing应用程序的多个屏幕/副本。对于例如如果我的主要Java Swing应用程序是X,那么我必须创建相同的应用程序A,B,C,D,......与X相同。

所以这里有一些明显的设计约束,我们不应该多次创建X应用程序。我们应该只创建一次并利用它们创建其他应用程序A,B,C,D ......

这里有一个问题,这些A,B,C ...应用程序可能是也可能不是X的子集。这意味着A的Swing组件少于X.

有一种方式存储类文件并从中创建应用程序但是Swing组件如何重用它们呢?我们在哪里可以存储它们?

这是一种设计问题。任何想法..

2 个答案:

答案 0 :(得分:3)

我认为你能做的最好的事情就是设计你的应用程序,以便能够插入和拔出内容。所以,插件/模块类型的架构最适合这里。您可以设计基于组件的模块;如果应用程序需要模块/插件,请安装,否则不要。就像我们使用IDE一样,比如Netbeans,Eclipse,IntelliJ。

由于这是一个Swing应用程序,我强烈建议您查看Netbeans Platform

答案 1 :(得分:-1)

所有Swing组件都是Serializable。我认为你可以创建JPanel,显示它,序列化它,然后恢复并再次显示。我相信,保湿面板将单独显示。

使用简单的面板尝试。如果有效,请尝试将此技术应用于您的应用程序。