我在Swing上阅读Core Java Volume 1
。我很难理解这一段:
首先,作者说
组件可放置在容器(如面板)内。容器 可以将自己放在其他容器中,所以类容器 扩展组件。图9.8显示了继承层次结构 部件,
注意:不幸的是,继承层次结构有点不干净 在两个方面。首先,顶级窗口,如JFrame,是 容器的子类,因此Component,但它们不能 放在其他容器内。而且,JComponent是一个 Container的子类,而不是Component。因此可以添加其他 将组件放入JButton(但是,那些组件不会 显示)。
对我来说,他在图片前后的陈述似乎都是相反的。 我也无法清楚地了解作者在这里想说些什么。 如果有人可以用一个例子或其他东西来详细说明,那将是有用的 感谢
答案 0 :(得分:0)
正如@MadProgrammer在评论中所说,作者强调了对象层次结构告诉你的内容与API可以做什么之间的差异。 JFrame和JDialog是顶级容器。如果仔细查看层次结构,这些顶级容器不会继承JComponent。相反,它们继承自AWT Window,这使得这些顶级容器在摆动时非常特别,并使它们成为重量级的组件。所以这些重量级的顶层容器不能放在另一个容器或组件内。 扩展JComponents的所有组件都是轻量级组件。此时,所有重量轻的部件都可以放在另一个轻质部件或顶层容器内。
如果我错了,请告诉我...... :)