Page 128 - 4836
P. 128

перейдемо  до  його  найбільш  часто  використовуваному
                            нащадку - класу JPanel.

                                   Клас JPanel (панель)
                                   Панель JPanel - це елемент управління, що являє собою
                            прямокутний  простір,  на  якому  можна  розміщувати  інші
                            елементи.  Елементи  додаються  і  видаляються  методами,
                            успадкованими від класу Container.
                                   У  прикладі  з  кнопкою  ми  спостерігали,  як  додана  на
                            панель вмісту кнопка зайняла весь її простір. Це відбувається
                            не завжди. Насправді у кожної панелі є так званий менеджер
                            розміщення, який визначає стратегію взаємного розташування
                            елементів,  які  додаються  на  панель.  Його  можна  змінити
                            методом  setLayout  (LayoutManager  manager).  Але  щоб
                            передати  в  цей  метод  потрібний  параметр,  необхідно  знати,
                            якими бувають менеджери.

                                   Менеджер послідовного розміщення FlowLayout
                                   Найпростіший менеджер розміщення - FlowLayout. Він
                            розміщує  на  панель  компоненти  строго  по  черзі,  рядок  за
                            рядком,  залежно  від  розмірів  панелі.  Як  тільки  черговий
                            елемент не поміщається в поточному рядку, він переноситься
                            на  наступний.  Найкраще  поспостерігати  це  на  прикладі.
                            Змінимо конструктор класу SimpleWindow наступним чином:
                                   package Swing;
                                   import java.awt.FlowLayout;
                                   import javax.swing.*;
                                   public class SimpleWindow extends JFrame {
                                          SimpleWindow () {
                                                 super ( "Пробне вікно");
                                                 setDefaultCloseOperation
                                                 (EXIT_ON_CLOSE);
                                                 JPanel panel = new JPanel ();
                                                 panel.setLayout (new FlowLayout( ));




                                                           126
   123   124   125   126   127   128   129   130   131   132   133