应该继承GUI JFrame吗?

时间:2010-08-05 19:12:50

标签: java user-interface swing

我有一个JFrame 'A',我想提供一个非常相似的,但有额外的按钮和不同的功能。我想知道我是否应该继承'A'然后覆盖处理程序方法,添加组件,或者是否建议采用不同的方法。

3 个答案:

答案 0 :(得分:2)

在大多数情况下,首选组合而不是遗传。在这种情况下,它取决于A中有多少代码。您可以使用策略模式来代码中的变异点,但在大多数情况下,遗传将是最不丑的。

答案 1 :(得分:2)

我个人更喜欢继承JPanels。我发现重用方面更倾向于使用UI面板并重用它们。

我构建Swing UI的方法是拥有一个JFrame并让它使用一个由可重用面板组成的面板,如果它们具有共同的功能。

如果您有一个共享通用功能的JFrame,那么您可能希望使用给定的CloseHandler和其他公​​共代码创建一个JFrame,然后让其他Jframe继承该公共代码。

答案 2 :(得分:1)

继承是这里最好的方式。

老实说,以另一种方式行事会涉及很多的工作。