ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎ ΡΠ°Π½Π΅Π΅, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΡΡΠ΅Ρ
ΠΏΠ°Π½Π΅Π»Π΅ΠΉ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π² docking view. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² Swing ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ docking view, Π±ΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Docking frames [5]. ΠΠ½Π° ΠΏΡΠΎΡΡΠ° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° DefaultSingleCDockable, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ SingleCDockable, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°: Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΈΠΊΠΎΠ½ΠΊΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° DefaultSingleCDockable ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈ ΠΎΡΡΠ°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠΊΠ° ΡΠ²Π½ΠΎ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ docking view ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ°Π½Π΅Π»ΡΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΡ
ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½Π° ΠΏΡΠ΅ΠΆΠ½Π΅Π΅ ΠΌΠ΅ΡΡΠΎ. ΠΠ° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠ»Π°ΡΡ CControl. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΅ΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° MainFrame, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ JFrame. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° CContentArea — Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° JComponent, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ getContentArea ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ docking view.
mainControl = new CControl (this);
this.setLayout (new GridLayout (1, 1));
this.add (mainControl.getContentArea ());
SingleCDockable beanListDockable = this. getBeanListDockable ();
Single CDockable main Pane lDockable = this. Get Bean Manipulation Dockable ();
Single CDockable properties List Dockable = this. Get Properties List Dockable ();
mainControl.addDockable (beanListDockable);
mainControl.addDockable (mainPanelDockable);
mainControl.addDockable (propertiesListDockable);
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ mainControl Π±ΡΠ»Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π·Π°ΡΠ°Π½Π΅Π΅. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Ρ
DefaultSingleCDockable Π²ΡΡΡΡΠΏΠ°Π»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΏΠ°Π½Π΅Π»Ρ: ΠΏΠ°Π½Π΅Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² — ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° BeanListPanel, Π³Π»Π°Π²Π½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈΡΠΎΠ²Π°Π½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ ΠΈΠΌΠΈ — ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° BeanManipulationPanel ΠΈ ΠΏΠ°Π½Π΅Π»Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠ°Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° — ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° PropertySheetPanel, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠ΅Ρ
ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° JPanel.
Π ΠΈΡΡΠ½ΠΎΠΊ 3 ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².