JAVA GUI: о методе и содержимом getContentPane()
в этом фрагменте кода:
JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
Я вижу, что он делает новый ярлык и добавляет его в JFrame
объект frame
.
Но я хочу понять, что значит getContentPane()
do, и зачем мне это нужно?
я прочитала этот API
4 ответов
JPanel
является контейнером, поэтому добавьте его в панель, а затем добавьте его в контейнер или напрямую используйте add(component)
или использовать getContentPane().add
метод. Как добавить компонент в контейнер в Java 7 (Я не знаю, есть ли у версии 6 проблема с этим или нет).каждый контейнер верхнего уровня качания (и JInternalFrame) имеет то, что называется JRootPane
. Это отвечает за фактическое управление общей компоновкой окна.
панель корень имеет несколько слоев, одним из которых является панель содержимого. Когда вы добавляете что-то в фрейм (начиная с Java 5, я думаю), он автоматически добавляется в панель содержимого для вас, до этого вам нужно было вызвать getContentPane().add(...)
сами
посмотри как использовать RootPanes
на контейнер есть несколько слоев в нем. Вы можете думать о слое как о прозрачной пленке, которая накладывает контейнер. В Java Swing слой, используемый для хранения объектов, называется панели содержимого. Объекты добавляются в слой панели содержимого контейнер.
на getContentPane () метод возвращает панели содержимого слоя чтобы вы могли добавить к нему объект. Область контента является объектом, созданным среда выполнения Java. Для его использования не обязательно знать имя панели содержимого. Когда вы используете getContentPane()
, объект панели содержимого затем подставляется там, чтобы вы могли применить к нему метод.
JFrame-это headcomponent, который соединяется с другими подкомпонентами. С помощью getContentPane () получает компонент, представляющий содержимое графического пользовательского интерфейса. Например, JMenuBar помещается в другую область рядом с contentPane кадра.