Що таке Swing в Java?
Swing in Java - це інструментарій графічного інтерфейсу користувача (GUI), що включає компоненти графічного інтерфейсу. Swing надає багатий набір віджетів та пакетів для створення складних компонентів графічного інтерфейсу для програм Java. Swing є частиною Java Foundation Classes (JFC), що є API для програм Java, які надають графічний інтерфейс.
Бібліотека Java Swing побудована поверх Java Abstract Widget Toolkit ( AWT ), старішого, залежного від платформи набору інструментів графічного інтерфейсу. Ви можете використовувати компоненти програмування графічного інтерфейсу Java, такі як кнопки, текстове поле тощо з бібліотеки, і вам не потрібно створювати компоненти з нуля.
У цьому підручнику Java Swing ви дізнаєтесь-
- Що таке Swing в Java?
- Що таке клас контейнерів?
- Що таке графічний інтерфейс у Java?
- Приклад графічного інтерфейсу Java
- Менеджер розкладки Java
- Java BorderLayout
- Java FlowLayout
- Java GridBagLayout
Діаграма ієрархії класу Java Swing
Усі компоненти Java Swing є JComponent, які можна додавати до класів контейнерів.
Що таке клас контейнерів?
Класи контейнерів - це класи, в яких можуть бути інші компоненти. Отже, для створення графічного інтерфейсу Java нам потрібен принаймні один об’єкт-контейнер. Існує 3 типи контейнерів Java Swing.
- Панель : Це чистий контейнер і сам по собі не є вікном. Єдина мета панелі - організувати компоненти у вікні.
- Кадр : Це повністю функціонуюче вікно із заголовком та піктограмами.
- Діалогове вікно : це можна розглядати як спливаюче вікно, яке з’являється, коли потрібно відобразити повідомлення. Це не повністю функціонуюче вікно, як Frame.
Що таке графічний інтерфейс у Java?
GUI (графічний користувальницький інтерфейс) на Java - це простий у використанні конструктор візуального досвіду для програм Java. В основному він складається з графічних компонентів, таких як кнопки, мітки, вікна тощо, за допомогою яких користувач може взаємодіяти з додатком. Графічний інтерфейс відіграє важливу роль у створенні простих інтерфейсів для програм Java.
Приклад графічного інтерфейсу Java
Тепер у цьому підручнику Swing Java давайте розберемося з графічним інтерфейсом на прикладах Java Swing.
Приклад : Щоб навчитися програмуванню графічного інтерфейсу Java у цьому посібнику з графічного інтерфейсу Java. Крок 1) Скопіюйте наступний код у редактор
import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button = new JButton("Press");frame.getContentPane().add(button); // Adds Button to content pane of frameframe.setVisible(true);}}
Крок 2) Збережіть, скомпілюйте та запустіть код.Крок 3) Тепер давайте додамо кнопку до нашого кадру. Скопіюйте наступний код у редактор із поданого прикладу графічного інтерфейсу Java
import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Press");frame.getContentPane().add(button1);frame.setVisible(true);}}
Крок 4) Виконайте код. Ви отримаєте велику кнопку
Крок 5) Як щодо додавання двох кнопок? Скопіюйте наступний код у редактор.
import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Button 1");JButton button2 = new JButton("Button 2");frame.getContentPane().add(button1);frame.getContentPane().add(button2);frame.setVisible(true);}}
Крок 6) Збережіть, скомпілюйте та запустіть програму.Крок 7) Несподіваний результат =? Кнопки перекриваються.
Менеджер розкладки Java
Менеджер макетів використовується для компонування (або упорядкування) компонентів графічного інтерфейсу користувача у контейнері. Є багато менеджерів макета, але найчастіше використовуються
Java BorderLayout
АBorderLayout
розміщує компоненти в п'яти областях: зверху, знизу, зліва, справа, і в центрі. Це менеджер макетів за замовчуванням для кожного Java JFrame
Java FlowLayout
FlowLayout
є менеджером макета за замовчуванням для кожного JPanel
. Він просто розкладає компоненти в один ряд один за одним.
Java GridBagLayout
Він є більш складним з усіх макетів. Він вирівнює компоненти, розміщуючи їх у сітці комірок, дозволяючи компонентам охоплювати більше однієї комірки.
Крок 8) Як щодо створення фрейму чату, як показано нижче?
Спробуйте кодувати себе, перш ніж переглядати програму нижче.
//Usually you will require both swing and awt packages// even if you are working with just swings.import javax.swing.*;import java.awt.*;class gui {public static void main(String args[]) {//Creating the FrameJFrame frame = new JFrame("Chat Frame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 400);//Creating the MenuBar and adding componentsJMenuBar mb = new JMenuBar();JMenu m1 = new JMenu("FILE");JMenu m2 = new JMenu("Help");mb.add(m1);mb.add(m2);JMenuItem m11 = new JMenuItem("Open");JMenuItem m22 = new JMenuItem("Save as");m1.add(m11);m1.add(m22);//Creating the panel at bottom and adding componentsJPanel panel = new JPanel(); // the panel is not visible in outputJLabel label = new JLabel("Enter Text");JTextField tf = new JTextField(10); // accepts upto 10 charactersJButton send = new JButton("Send");JButton reset = new JButton("Reset");panel.add(label); // Components Added using Flow Layoutpanel.add(tf);panel.add(send);panel.add(reset);// Text Area at the CenterJTextArea ta = new JTextArea();//Adding Components to the frame.frame.getContentPane().add(BorderLayout.SOUTH, panel);frame.getContentPane().add(BorderLayout.NORTH, mb);frame.getContentPane().add(BorderLayout.CENTER, ta);frame.setVisible(true);}}