关于窗体

a59886625 2012-11-17 06:20:58
书上说JFrame有四层面板,我们一般是创建Container对象然后将组件添加进container.add(Component)
既内容窗格中,但是我发现不用创建container对象一样可以add()组件,那么请问我add的组件是加到了那一层面板呢?还是内容创个吗。
...全文
123 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoming262350 2012-11-17
  • 打赏
  • 举报
回复
javax.swing 类 JFrame java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Frame javax.swing.JFrame 所有已实现的接口: ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants -------------------------------------------------------------------------------- public class JFrameextends Frameimplements WindowConstants, Accessible, RootPaneContainerjava.awt.Frame 的扩展版本,该版本添加了对 JFC/Swing 组件架构的支持。有关使用 JFrame 的面向任务的文档,请参阅 The Java Tutorial 中的 How to Make Frames 一节。 JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样,JFrame 包含一个 JRootPane 作为其唯一的子容器。根据规定,根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。为了方便地使用 add 及其变体,已经重写了 remove 和 setLayout,以在必要时将其转发到 contentPane。这意味着可以编写: frame.add(child); 子级将被添加到 contentPane。内容窗格始终是非 null 的。试图将其设置为 null 会导致 JFrame 抛出异常。默认的内容窗格上会设置有 BorderLayout 管理器。有关添加、移除和设置 JFrame 的 LayoutManager 的详细信息,请参阅 RootPaneContainer。 与 Frame 不同,当用户试图关闭窗口时,JFrame 知道如何进行响应。用户关闭窗口时,默认的行为只是简单地隐藏 JFrame。要更改默认的行为,可调用方法 setDefaultCloseOperation(int)。要使 JFrame 的行为与 Frame 实例相同,请使用 setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)。 有关内容窗格和根窗格提供的其他功能的更多信息,请参阅 The Java Tutorial 中的 Using Top-Level Containers 一节。
huntor 2012-11-17
  • 打赏
  • 举报
回复
开始只能先getContentPane()在添加,后来为了照顾初学者,可以直接add了。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧