JavaGUI:关于getContentPane()方法和内容
在这段代码中:JavaGUI:关于getContentPane()方法和内容,java,swing,jframe,Java,Swing,Jframe,在这段代码中: JLabel emptyLabel = new JLabel(""); emptyLabel.setPreferredSize(new Dimension(175, 100)); frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); 我可以看到它创建了一个新标签并将其添加到JFrame对象frame。 但是我想了解getContentPane()做什么,为什么我需要它 我读了,但还是不明白。JFrame是头部组
JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
我可以看到它创建了一个新标签并将其添加到JFrame
对象frame
。
但是我想了解getContentPane()
做什么,为什么我需要它
我读了,但还是不明白。JFrame是头部组件,它与其他子组件组合在一起。With getContentPane()获取表示图形用户界面内容的组件。例如,JMenuBar被放置在框架的contentPane旁边的另一个区域。每个
JPanel
都是一个容器,因此可以将其添加到面板,然后添加到容器中,或者直接使用add(component)
或使用getContentPane().add
方法。两者都将组件添加到Java 7中的容器中(我不知道版本6是否有问题)。每个Swing顶级容器(和JInternalFrame)都有一个称为JRootPane的组件。它负责实际管理窗口的总体布局
根窗格有许多层,其中一层是内容窗格。当您向一个框架添加某些内容时(我认为是Java 5),它会自动添加到内容窗格中,在此之前,您必须自己调用getContentPane().add(…)
看看一个容器中有好几层。您可以将层视为覆盖在容器上的透明薄膜。在JavaSwing中,用于保存对象的层称为内容窗格。对象被添加到容器的内容窗格层
getContentPane()方法检索内容窗格层,以便向其中添加对象。内容窗格是由Java运行时环境创建的对象。您不必知道内容窗格的名称即可使用它。当您使用getContentPane()
时,内容窗格对象将在那里被替换,以便您可以对其应用一种方法。好故事:lool,那篇极客文章xd“为了方便添加及其变体…已被覆盖,以便根据需要转发到内容窗格。”-该特性出现在Java5.+1中,这是一篇很好且合适的帖子。像我这样的新手也能理解:)谢谢