Page 144 - 4836
P. 144

LineBorder  -  проста  рамка,  намальована  суцільною
                            лінією.  Можна  вибирати  колір  і  товщину  лінії,  скруглити
                            кути.
                                   MatteBorder - рамка з повторюваного малюнка.
                                   CompoundBorder - об'єднує дві рамки, що передаються
                            як параметри конструктору в одну нову рамку.
                                   Всі     перераховані     класи     описані    в     пакеті
                            javax.swing.border.
                                   Розглянемо приклад. У цьому прикладі ми створимо
                            шість  панелей  з  різними  рамками  і  розмістимо  їх  у  вигляді
                            таблиці. Щоб не описувати шість разів процедуру створення
                            нової панелі, винесемо її в окремий метод:
                                   private JPanel createPanel (Border border , String text) {
                                   JPanel panel = new JPanel ();
                                   panel.setLayout (new BorderLayout ( ));
                                   panel.add (new JButton (text));
                                   panel.setBorder (new CompoundBorder (new EmptyBorder
                            (12,12,12,12), border));
                                   return panel;
                                   }
                                   Метод createPanel ( ) створює панель з кнопкою на весь
                            свій розмір. Як параметр передається напис на кнопці і рамка,
                            яку  необхідно  додати  до  панелі.  Рамка  додається  не
                            безпосередньо,  а  шляхом  композиції  з  порожньою  рамкою.
                            Цей прийом часто використовується , щоб рамка не прилипала
                            до краю панелі.
                                   Тепер  шість  разів  скористаємося  цим  методом  у
                            конструкторі вікна програми.
                                   SimpleWindow () {
                                   super ("Пробне вікно");
                                   setDefaultCloseOperation ( EXIT_ON_CLOSE );
                                   JPanel panel = new JPanel ();
                                   panel.setLayout ( new GridLayout ( 2,3,5,10 ));






                                                           142
   139   140   141   142   143   144   145   146   147   148   149