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



: спечелете концепцията за суинг в java с йерархия на класовете на суинг и мениджър на оформление с практическа демонстрация на GUI приложение.

Swing в java е част от класа на Java, който е лек и независим от платформата. Използва се за създаване на приложения, базирани на прозорец. Той включва компоненти като бутон, лента за превъртане, текстово поле и др. Съединяването на всички тези компоненти прави графичен потребителски интерфейс. В тази статия ще разгледаме концепциите, включени в процеса на изграждане на приложения с помощта на swing in . Следват концепциите, обсъдени в тази статия:

Какво е Swing в Java?

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





Става по-лесно да се изграждат приложения, тъй като вече имаме GUI компоненти като бутон, квадратче за отметка и т.н. Това е полезно, защото не трябва да започваме от нулата.

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

Всякакви който има други компоненти в себе си се нарича клас контейнер. За изграждане на GUI приложения е необходим поне един клас контейнер.



Следват трите типа класове контейнери:

  1. Панел - Използва се за организиране на компоненти върху прозорец

  2. Frame - Напълно функциониращ прозорец с икони и заглавия



  3. Диалог - Той е като изскачащ прозорец, но не е напълно функционален като рамката

Разлика между AWT и Swing

AWT ЛЮЛКА
  • Зависим от платформата
  • Независима от платформата
  • Не следва MVC
  • Следва MVC
  • По-малки компоненти
  • По-мощни компоненти
  • Не поддържа външен вид и усещане
  • Поддържа външен вид и усещане
  • Тежка категория
  • Лек

Йерархия на класа на Java Swing

йерархична люлка в java-edureka

Обяснение : Всички компоненти в суинг като JButton, JComboBox, JList, JLabel са наследени от класа JComponent, който може да бъде добавен към класовете контейнери. Контейнерите са прозорците като рамка и диалогови прозорци. Основните люлеещи се компоненти са градивните елементи на всяко приложение на gui. Методи като setLayout заменят оформлението по подразбиране във всеки контейнер. Контейнери като JFrame и JDialog могат да добавят само компонент към себе си. Следват няколко компонента с примери, за да разберем как можем да ги използваме.

Клас JButton

Използва се за създаване на етикетиран бутон. Използването на ActionListener ще доведе до някакво действие при натискане на бутона. Той наследява класа AbstractButton и е независим от платформата.

Пример:

импортиране на javax.swing. * публичен клас пример {публична статична празнота main (String args []) {JFrame a = new JFrame ('example') JButton b = new JButton ('click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

Изход:

как да използвам файлове в

Клас JTextField

Той наследява класа JTextComponent и се използва за разрешаване на редактиране на едноредов текст.

Пример:

импортиране на javax.swing. * пример за публичен клас {public static void main (String args []) {JFrame a = new JFrame ('example') JTextField b = new JTextField ('edureka') b.setBounds (50,100,200,30) a .add (b) a.setSize (300 300) a.setLayout (null) a.setVisible (true)}}

Изход:

JScrollBar клас

Използва се за добавяне на лента за превъртане, както хоризонтална, така и вертикална.

Пример:

импортиране на javax.swing. * пример от клас {пример () {JFrame a = нов JFrame ('пример') JScrollBar b = нов JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300,300) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {нов пример ()}}

Изход:

Клас JPanel

Той наследява класа JComponent и осигурява място за приложение, което може да прикачи всеки друг компонент.

import java.awt. * import javax.swing. * публичен клас Пример {Пример () {JFrame a = нов JFrame ('пример') JPanel p = нов JPanel () p.setBounds (40,70,200,200) JButton b = нов JButton („щракнете върху мен“) b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {нов пример ()}}

Изход:

JMenu Clas с

Той наследява класа JMenuItem и е компонент на падащо меню, който се показва от лентата с менюта.

маркер интерфейс в Java пример
import javax.swing. * class Example {JMenu menu JMenuItem a1, a2 Example () {JFrame a = new JFrame ('Example') menu = new JMenu ('options') JMenuBar m1 = new JMenuBar () a1 = new JMenuItem ( 'example') a2 = new JMenuItem ('example1') menu.add (a1) menu.add (a2) m1.add (menu) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {нов пример ()}}

Изход:

Клас JList

Той наследява клас JComponent, обектът на класа JList представлява списък с текстови елементи.

импортиране на javax.swing. * публичен клас Пример {Пример () {JFrame a = нов JFrame ('пример') DefaultListModel l = нов DefaultListModel () l.addElement ('първи елемент') l.addElement ('втори елемент') JList b = new JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} public static void main (String args [ ]) {нов пример ()}}

Изход:

Клас JLabel

Използва се за поставяне на текст в контейнер. Той също така наследява класа JComponent.

import javax.swing. * публичен клас Пример {public static void main (String args []) {JFrame a = new JFrame ('example') JLabel b1 b1 = new JLabel ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVisible (true)}}

Изход:

Клас JComboBox

Той наследява класа JComponent и се използва за показване на изскачащо меню с избори.

import javax.swing. * публичен клас Пример {JFrame a Example () {a = new JFrame ('example') string courses [] = {'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (курсове) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args [] ) {нов пример ()}}

Изход:

Диспечер на оформлението

За да подредим компонентите в контейнер, използваме диспечера на оформлението. Следват няколко мениджъри на оформление:

  1. Оформление на границата

    сливане сортиране c ++ изходен код
  2. Оформление на потока

  3. Оформление на GridBag

Оформление на границите

Мениджърът на оформлението по подразбиране за всеки JFrame е BorderLayout. Той поставя компонентите на пет места, което е отгоре, отдолу, отляво, отдясно и от центъра.

Оформление на потока

FlowLayout просто поставя компонентите в ред един след друг, това е мениджърът по подразбиране за всеки JPanel.

Оформление на GridBag

GridBagLayout поставя компонентите в мрежа, която позволява на компонентите да обхващат повече от една клетка.

Пример: Чат рамка

import javax.swing. * import java.awt. * class Пример {public static void main (String args []) {JFrame frame = new JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = new JMenu ('FILE') JMenu ob2 = new JMenu ('Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = new JMenuItem ('Open ') JMenuItem m22 = new JMenuItem (' Save as ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // панелът не се вижда в изхода JLabel label = new JLabel (' Enter Text ') JTextField tf = new JTextField (10) // приема до 10 знака JButton send = new JButton (' Send ') JButton reset = new JButton (' Reset ') panel.add (label) // Компоненти, добавени с помощта на панел Layout Flow .add (label) // Компоненти, добавени с помощта на панел Layout Flow.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). add (BorderLayout.NORTH, tf) frame.getContentPane (). add (Border Layout.CENTER, ta) frame.setVisible (true)}}

Това е прост пример за създаване на GUI с помощта на суинг в Java.

В тази статия обсъдихме суинг в Java и йерархията на Java суинг класове. С всички компоненти, които се предлагат с люлка в Java, става по-лесно да се изграждат оптимизирани GUI приложения. Java езикът за програмиране е структуриран език за програмиране и с нарастващото търсене става изключително важно да се овладеят всички концепции в . За да започнете обучението си и да станете експерт по java програмиране, регистрирайте се в Edureka’s .

Имате въпрос към нас? моля, споменете това в раздела за коментари на тази статия „Swing In Java“ и ние ще се свържем с вас възможно най-скоро.