是否总是不好在Java中扩展JFrame?

3

在开发Java Swing GUI时,是否总是不推荐扩展JFrame?那么JPanel或其他JComponents呢?另外,这样做的坏处是什么?


1
"它为什么不好?" 你认为它为什么不好? - Kirk Woll
1
谁说这是个坏主意?据我所知,JPanel被期望用于定制组件的扩展。 - Maxpm
JFrame怎么样?老实说,我不知道它为什么不好。人们只是声称它不好,却没有给出任何理由。我很好奇它到底有什么问题。 - Bob
2
@Bob 那些人是谁?我从未听说过。 - Maxpm
2
JPanel(比JFrame更糟糕)的扩展频率常常比它们应该的要多,几乎总是出于错误的原因..因为你到底有多少次会为你的应用程序创建一个新的一般Swing组件呢?如果不合理地把你新创建的"NewFrame"用在其他程序中,就不应该使用继承。组合可以让生活更轻松。 - Voo
显示剩余2条评论
1个回答

6
通常情况下,仅在需要自定义Swing组件时才应该进行子类化。

@KirkWoll,就像添加不属于组件的行为或LaF一样,或者参见这里 - Moonbeam
3
所有内容都描述了"Java组合与继承"。 - mKorbel
1
@mKorbel 很好,你加入了关键词“组合与继承”,因为这就是问题的关键所在。 - Andrew Thompson
@KirkWoll 通常这将需要覆盖至少一个方法。 - Tom Hawtin - tackline

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接