4753342: компонент верхнего уровня Swing должен перенаправить добавить / удалить
методы для ContentPane
Описание:
В отличие от программирования AWT,
JFrame
/ JDialg
/ JWindow
/ JApplet
/ JInternalFrame
не позволяют добавлять
Component
s к нему, вместо этого вы должны узнать о JRootPane
и добавить
дети Component
с. Это добавляет ненужную путаницу к новым
Разработчики.
До 5.0 пытался добавить или удалить Component
из одного из
эти верхние уровни Component
s приведут к исключению. В
5.0, исключение не выдается, вместо этого Component
будет добавлено или удалено из области содержимого. Это привело к нескольким изменениям
на javadoc JFrame
, JDialog
, JWindow
, JApplet
и
JInternalFrame
. Это было обобщено в RootPaneContainer
Javadoc:
<code> * For conveniance
* <code>JFrame</code>, <code>JDialog</code>, <code>JWindow</code>,
* <code>JApplet</code> and <code>JInternalFrame</code>, by default,
* forward all calls to <code>add</code> and its variants,
* <code>remove</code> and <code>setLayout</code> to the
* <code>contentPane</code>. This means rather than writing:
* <pre>
* rootPaneContainer.getContentPane().add(component);
*
* ты можешь сделать:
*
* rootPaneContainer.add(component);
*
*
* Поведение add
и его вариантов и
* setLayout
для
* JFrame
, JDialog
, JWindow
,
* JApplet
и JInternalFrame
контролируется
* свойство rootPaneCheckingEnabled
. Если это свойство
* true, значение по умолчанию, затем add
и его варианты и
* setLayout
являются
* перенаправлен на contentPane
, если он ложный, то эти
* методы работают непосредственно на RootPaneContainer
. это
* свойство предназначено только для подклассов и поэтому защищено.