Підручник Java Swing: Як створити графічний інтерфейс у Java на прикладах

Зміст:

Anonim

Що таке 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

Усі компоненти Java Swing є JComponent, які можна додавати до класів контейнерів.

Що таке клас контейнерів?

Класи контейнерів - це класи, в яких можуть бути інші компоненти. Отже, для створення графічного інтерфейсу Java нам потрібен принаймні один об’єкт-контейнер. Існує 3 типи контейнерів Java Swing.

  1. Панель : Це чистий контейнер і сам по собі не є вікном. Єдина мета панелі - організувати компоненти у вікні.
  2. Кадр : Це повністю функціонуюче вікно із заголовком та піктограмами.
  3. Діалогове вікно : це можна розглядати як спливаюче вікно, яке з’являється, коли потрібно відобразити повідомлення. Це не повністю функціонуюче вікно, як 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);}}