В чем разница между JFrame.getContentPane () и JFrame.getRootPane ()? - PullRequest
8 голосов
/ 09 сентября 2011

В чем разница между функциями фрейма Java getContentPane() и getRootPane()?Также, что произойдет, когда мы установим JButton в качестве значения по умолчанию.

Ответы [ 3 ]

13 голосов
/ 09 сентября 2011

из документации :

getContentPane () обычно реализуется так:

public Container getContentPane() {
    return getRootPane().getContentPane();
}

Это хорошо описано в учебнике по Swing ( здесь ).

enter image description here

4 голосов
/ 09 сентября 2011

При использовании контейнеров верхнего уровня в AWT или Swing корневая панель является базовой.

Иерархия выглядит следующим образом:

  1. Стеклянная панель: обычно скрыта, настройкаto visible будет отображаться стеклянная крышка над областями корневой панели.
  2. Многоуровневая панель: содержит панель меню и панель содержимого
  3. Панель содержимого: базовая панель макета, в которой фактически размещены компоненты.

Вызов метода getRootPane() вернет ссылку на базовую панель, а при вызове метода getContentPane() вы получите ссылку на панель содержимого.Это видно по умолчанию.

Установив Jbutton default, Чего именно вы пытаетесь достичь?

1 голос
/ 09 сентября 2011

Корневая панель, как следует из названия, является корнем фрейма / окна / диалога.

Содержит все остальные компоненты этого компонента верхнего уровня. панель содержимого является одной из четырех частей корневой панели и содержит компоненты. другими частями корневой панели являются стеклянная панель, многослойная панель и дополнительная строка меню.

учебники в oracle объясняют это действительно хорошо: http://download.oracle.com/javase/tutorial/uiswing/components/rootpane.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...