Jython - Использование библиотеки графического интерфейса Swing

Одна из основных особенностей Jython - это возможность использовать библиотеку графического интерфейса Swing в JDK. Стандартный дистрибутив Python (часто называемый CPython) имеетTkinter GUI libraryпоставляется с ним. Другие библиотеки графического интерфейса, такие какPyQt и WxPython также доступны для использования с ним, но библиотека Swing предлагает независимый от платформы инструментарий GUI.

Использовать библиотеку Swing в Jython намного проще, чем в Java. В Java анонимные классы должны использоваться для создания привязки событий. В Jython мы можем просто передать функцию для той же цели.

Базовое окно верхнего уровня создается путем объявления объекта JFrame classи установите для его свойства visible значение true. Для этого необходимо импортировать класс Jframe из пакета swing.

from javax.swing import JFrame

Класс JFrame имеет несколько конструкторов с различным количеством аргументов. Мы будем использовать тот, который принимает строку в качестве аргумента и устанавливает ее в качестве заголовка.

frame = JFrame(“Hello”)

Перед установкой для свойства visible значения true установите размер и расположение фрейма. Сохраните следующий код какframe.py.

from javax.swing import JFrame

frame = JFrame("Hello")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLocation(100,100)
frame.setSize(300,200)
frame.setVisible(True)

Запустите указанный выше сценарий из командной строки. Он отобразит следующий вывод, показывающий окно.

Библиотека графического интерфейса Swing предоставляется в виде javax.swingпакет на Java. Его основные классы-контейнеры,JFrame и JDialogсоответственно являются производными от классов Frame и Dialog, которые находятся в библиотеке AWT. Другие элементы управления графическим интерфейсом, напримерJLabel, JButton, JTextField, и т.д., являются производными от класса JComponent.

На следующем рисунке показана иерархия классов пакета Swing.

В следующей таблице приведены различные классы управления графическим интерфейсом пользователя в библиотеке Swing.

Sr.No. Класс и описание
1

JLabel

Объект JLabel - это компонент для размещения текста в контейнере.

2

JButton

Этот класс создает кнопку с меткой.

3

JColorChooser

JColorChooser предоставляет панель элементов управления, позволяющую пользователю манипулировать цветом и выбирать его.

4

JCheckBox

JCheckBox - это графический компонент, который может быть on (правда) или off (ложное) состояние.

5

JRadioButton

Класс JRadioButton - это графический компонент, который может находиться во включенном (истина) или выключенном (ложном) состоянии. в группе.

6

JList

Компонент JList представляет пользователю прокручиваемый список текстовых элементов.

7

JComboBox

Компонент JComboBox представляет пользователю раскрывающийся список элементов.

8

JTextField

Объект JTextField - это текстовый компонент, который позволяет редактировать одну строку текста.

9

JPasswordField

Объект JPasswordField - это текстовый компонент, предназначенный для ввода пароля.

10

JTextArea

Объект JTextArea - это текстовый компонент, который позволяет редактировать несколько строк текста.

11

ImageIcon

Элемент управления ImageIcon - это реализация интерфейса Icon, который рисует значки из изображений.

12

JScrollbar

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

13

JOptionPane

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

14

JFileChooser

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

15

JProgressBar

По мере того, как задача приближается к завершению, индикатор выполнения отображает процент выполнения задачи.

16

JSlider

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

17

JSpinner

JSpinner - это однострочное поле ввода, которое позволяет пользователю выбрать число или значение объекта из упорядоченной последовательности.

Мы будем использовать некоторые из этих элементов управления в следующих примерах.