Java Swing Tutorial: Как да създадете GUI в Java с примери

Съдържание:

Anonim

Какво е Swing в Java?

Swing in Java е инструментариум за графичен потребителски интерфейс (GUI), който включва компонентите на GUI. Swing предоставя богат набор от приспособления и пакети за създаване на сложни GUI компоненти за Java приложения. Swing е част от Java Foundation Classes (JFC), което е API за Java програми, които предоставят GUI.

Библиотеката на Java Swing е изградена върху Java Tool Widget Toolkit ( AWT ), по-стар, зависим от платформата GUI инструментариум. Можете да използвате Java GUI компоненти за програмиране като бутон, текстово поле и др. От библиотеката и не е необходимо да създавате компонентите от нулата.

В този урок за Java Swing ще научите -

  • Какво е Swing в Java?
  • Какво е клас на контейнер?
  • Какво е GUI в Java?
  • Пример за графичен интерфейс на Java
  • Java Layout Manager
  • Java BorderLayout
  • Java FlowLayout
  • Java GridBagLayout

Диаграма на йерархия на клас Java Swing

Диаграма на йерархията на класа на Swing Java

Всички компоненти в Java Swing са JComponent, които могат да бъдат добавени към класове контейнери.

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

Класовете контейнери са класове, които могат да съдържат други компоненти. Така че за създаването на графичен интерфейс на Java се нуждаем от поне един обект на контейнер. Има 3 вида Java Swing контейнери.

  1. Панел : Това е чист контейнер и сам по себе си не е прозорец. Единствената цел на панела е да организира компонентите върху прозорец.
  2. Рамка : Това е напълно функциониращ прозорец със заглавие и икони.
  3. Диалог : Може да се разглежда като изскачащ прозорец, който изскача, когато трябва да се покаже съобщение. Това не е напълно функциониращ прозорец като Frame.

Какво е GUI в Java?

GUI (графичен потребителски интерфейс) в Java е лесен за използване конструктор на визуално изживяване за Java приложения. Той е направен главно от графични компоненти като бутони, етикети, прозорци и др., Чрез които потребителят може да взаимодейства с приложение. GUI играе важна роля за изграждането на лесни интерфейси за Java приложения.

Пример за графичен интерфейс на Java

Сега в този урок за Swing Java, нека разберем GUI с примери за Java Swing.

Пример : За да научите Java GUI програмиране в този Java GUI урок Стъпка 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 GUI

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 Layout Manager

Мениджърът на оформлението се използва за оформление (или подреждане) на компонентите на GUI Java в контейнер. Има много мениджъри за оформление, но най-често използваните са-

Java BorderLayout

A 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);}}