我正在阅读Head First Java.在介绍GUI时(第354页为那些拥有该书的人),作者写道:
frame.getContentPane().add(button);
Run Code Online (Sandbox Code Playgroud)
"你不添加东西到帧直接.想想帧窗口周围的装饰条,又添加了东西到窗口窗格 ".
在查看JFrame的Java API条目之后,我看到JFrame是Component的子类并从Component继承了add(Component),因此它可以简单地编写:
frame.add(button);
Run Code Online (Sandbox Code Playgroud)
为什么这本书建议使用frame.getContentPane.add(button)?
提前致谢!
你可以调用add(...)JFrame,但它实际上getContentPane().add(...)是根据JFrame API调用,也称为"语法糖".但要明白,在执行此操作时,您实际上并不直接将其添加到JFrame,而实际上是将其添加到contentPane.这很重要,因为JFrame由组件组成,如JFrame /顶级窗口Swing Tutorial所述.
我自己,我更喜欢文字,getContentPane().add(...)因为不是所有的JFrame行为都会以这种方式工作,例如setBackground(...),因此文字提醒我正是我在做什么.
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |