在这段代码中:
JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
我可以看到它创建了一个新标签并将其添加到 JFrame
对象 frame
中。
但我想了解 getContentPane()
做了什么,为什么需要它?
我读了this API但我还是不明白。
最佳答案
每个 Swing 顶级容器(和 JInternalFrame)都有所谓的 JRootPane
。它负责实际管理窗口的整体布局。
根 Pane 有许多层,其中一层是内容 Pane 。当您向框架添加内容时(我认为是从 Java 5 开始),它会自动为您添加到内容 Pane 中,在此之前,您必须调用 getContentPane().add(...)
你自己
关于Java 图形用户界面 : about getContentPane( ) method and content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16744152/