Swing в Java: как создать графический интерфейс с примерами



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

Swing в java является частью базового класса Java, который является легким и независимым от платформы. Он используется для создания оконных приложений. Он включает в себя такие компоненты, как кнопка, полоса прокрутки, текстовое поле и т. Д. Объединение всех этих компонентов создает графический пользовательский интерфейс. В этой статье мы рассмотрим концепции, связанные с процессом создания приложений с использованием Swing in. . В этой статье обсуждаются следующие концепции:

Что такое Swing в Java?

Swing в Java - это легкий набор инструментов с графическим интерфейсом пользователя, который имеет широкий спектр виджетов для создания оптимизированных оконных приложений. Это часть JFC (базовые классы Java). Он построен на основе AWT API и полностью написан на . Он не зависит от платформы, в отличие от AWT, и имеет легкие компоненты.





Создавать приложения становится проще, поскольку у нас уже есть компоненты графического интерфейса, такие как кнопка, флажок и т. Д. Это полезно, потому что нам не нужно начинать с нуля.

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

Любые в котором есть другие компоненты, называется контейнерным классом. Для создания приложений с графическим пользовательским интерфейсом необходим хотя бы один контейнерный класс.



Ниже приведены три типа контейнерных классов:

  1. Панель - используется для размещения компонентов в окне.

  2. Фрейм - полностью работающее окно со значками и заголовками.



  3. Диалог - похоже на всплывающее окно, но не полностью функционально, как фрейм.

Разница между AWT и Swing

AWT Качели
  • Зависит от платформы
  • Независимая платформа
  • Не следует MVC
  • Следует MVC
  • Меньшие компоненты
  • Более мощные компоненты
  • Не поддерживает подключаемый внешний вид
  • Поддерживает внешний вид и удобство подключения
  • Тяжеловес
  • Легкий

Иерархия классов Java Swing

иерархия-качели в java-edureka

Объяснение : Все компоненты, находящиеся в процессе разработки, такие как JButton, JComboBox, JList, JLabel, унаследованы от класса JComponent, который может быть добавлен в классы контейнера. Контейнеры - это окна, такие как фреймы и диалоговые окна. Базовые компоненты Swing - это строительные блоки любого приложения с графическим интерфейсом пользователя. Такие методы, как setLayout, переопределяют макет по умолчанию в каждом контейнере. Такие контейнеры, как JFrame и JDialog, могут добавлять компонент только к себе. Ниже приведены несколько компонентов с примерами, чтобы понять, как их можно использовать.

Класс JButton

Он используется для создания кнопки с надписью. Использование ActionListener приведет к некоторому действию при нажатии кнопки. Он наследует класс AbstractButton и не зависит от платформы.

Пример:

import javax.swing. * пример публичного класса {public static void 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)}}

Вывод:

как запустить php в Windows 10

Класс JTextField

Он наследует класс JTextComponent и используется для редактирования однострочного текста.

Пример:

import 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

Он используется для добавления полосы прокрутки, как горизонтальной, так и вертикальной.

Пример:

import javax.swing. * class example {example () {JFrame a = new JFrame ('example') JScrollBar b = new 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 []) {new example ()}}

Вывод:

Класс JPanel

Он наследует класс JComponent и предоставляет место для приложения, которое может подключать любой другой компонент.

import java.awt. * import javax.swing. * public class Example {Example () {JFrame a = new JFrame ('example') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new 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 []) {new Example ()}}

Вывод:

JMenu Clas s

Он наследует класс JMenuItem и представляет собой компонент раскрывающегося меню, который отображается из строки меню.

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 []) {new Example ()}}

Вывод:

Класс JList

Он наследует класс JComponent, объект класса JList представляет собой список текстовых элементов.

import javax.swing. * public class Example {Example () {JFrame a = new JFrame ('example') DefaultListModel l = new DefaultListModel () l.addElement ('first item') l.addElement ('second item') JList b = новый 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 [ ]) {новый пример ()}}

Вывод:

преобразовать объект в массив php

Класс JLabel

Он используется для размещения текста в контейнере. Он также наследует класс JComponent.

import javax.swing. * public class Example {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. * public class Example {JFrame a Example () {a = new JFrame ('example') string course [] = {'core java', 'advanced 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. Макет границы

  2. Схема потока

  3. Макет GridBag

Макет границы

Менеджером компоновки по умолчанию для каждого JFrame является BorderLayout. Он размещает компоненты до пяти мест: сверху, снизу, слева, справа и по центру.

программа циклического планирования в c

Схема потока

FlowLayout просто размещает компоненты в ряд один за другим, это менеджер компоновки по умолчанию для каждой JPanel.

Макет GridBag

GridBagLayout помещает компоненты в сетку, которая позволяет компонентам занимать более одной ячейки.

Пример: фрейм чата

import javax.swing. * import java.awt. * class Example {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 ('Открыть ') JMenuItem m22 = new JMenuItem (' Сохранить как ') 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) // Компоненты, добавленные с помощью панели Flow Layout .add (label) // Компоненты, добавленные с помощью панели Flow Layout. 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 (Граница Layout.CENTER, ta) frame.setVisible (true)}}

Это простой пример создания графического интерфейса пользователя с использованием Swing в Java.

В этой статье мы обсудили Swing в Java и иерархию классов Java Swing. Со всеми компонентами, которые поставляются с Swing в Java, становится проще создавать оптимизированные приложения с графическим интерфейсом. Язык программирования Java - это структурированный язык программирования, и с ростом спроса становится чрезвычайно важным овладеть всеми концепциями в . Чтобы начать обучение и стать экспертом в программировании на Java, зарегистрируйтесь в Edureka’s .

Есть вопрос к нам? пожалуйста, укажите это в разделе комментариев к статье Swing In Java, и мы свяжемся с вами как можно скорее.