ерфейсних примітивів. Swing же надає цей набір і не тільки. Він також робить створення GUI легшим за рахунок застосування набору настроюваних кордонів (Borders) і менеджерів розміщення (LayoutManagers).
Практично всі компоненти Swing починаються з чільної букви J (JFrame, JTable, JMenu). Назви всіх компонентів очевидні, і подібні з тими, які використовувалися в AWT. Приміром, якщо в AWT в ролі вікна верхнього рівня використовувалося Frame, в Swing використовується в аналогічній ролі JFrame. Короткий опис деяких важливих елементів, яких не мала в своєму активі AWT наведені нижче.
JInternalFrameОкно, існуюче всередині іншого вікна верхнього рівня, наприклад в JFrame.JProgressBarСтрока, що відображає процес проістеченія якоїсь події, наприклад процес загрузкі.JSlider «Повзунок», що дозволяє користувачеві вибирати межа відображення велічін.JTableКомпонент, що представляє дані у вигляді табліц.JTreeКомпонент, що представляє дані в ієрархічному вигляді.
SWING використовується для побудови графічного користувальницького інтерфейсу додатку. Графічні елементи інтерфейсу створюються в конструкторі класу DownloadManager:
Конструктор класу, викликається при запуску програми. Він створює елементи графічного інтерфейсу:
public DownloadManager () {
/ / Установка заголовка вікна («Offline browser»);
/ / Розмір вікна (640, 480);
/ / Обробка події закриття вікна
addWindowListener (new WindowAdapter () {void windowClosing (WindowEvent e) {();
}
});
/ / Додавання менюmenuBar=new JMenuBar (); fileMenu=new JMenu («Файл»);. setMnemonic (KeyEvent.VK_F); fileExitMenuItem=new JMenuItem («Вихід»,. VK_X);. addActionListener (new ActionListener () {void actionPerformed (ActionEvent e) {();
}
});. add (fileExitMenuItem);. add (fileMenu);
setJMenuBar (menuBar);
/ / Верхня панель з кнопками для введення посилання для завантаження
JPanel addPanel=new JPanel (new FlowLayout ());=new JTextField (30);. add (addTextField); addButton=new JButton («Завантажити»);. addActionListener (new ActionListener () {void actionPerformed (ActionEvent e) {();
}
});. add (addButton); labelChooseDir=new JLabel («Шлях збереження файлів»);. add (labelChooseDir); dirField=new JTextField ();
addPanel.add (dirField);
/ / Таблиця для відображення статусу завантажуваних файлів
tableModel=new DownloadsTableModel ();=new JTable (tableModel);. getSelectionModel (). addListSelectionListener (new () {void valueChanged (ListSelectionEvent e) {();
}
});. setSelectionMode (ListSelectionModel.SINGLE_SELECTION); renderer=new ProgressRenderer (0, 100);. setStringPainted (true);// Show progress text.setDefaultRenderer (JProgressBar.class, renderer);. SetRowHeight (
(int) renderer.getPreferredSize (). getHeight ());
/ / Панель для відображення таблиці загрузокdownloadsPanel=new JPanel ();. setBorder (. createTitledBorder («Заванта...