Учебники

Jython — Использование библиотеки Swing GUI

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

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

Основное окно верхнего уровня создается путем объявления объекта класса JFrame и установки его свойства 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)

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

Окно

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

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

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

Следующая таблица суммирует различные классы управления GUI в библиотеке колебания —

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

JLabel

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

2

JButton

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

3

JColorChooser

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

4

JCheckBox

JCheckBox — это графический компонент, который может находиться во включенном (true) или выключенном (false) состоянии.

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 представляет собой однострочное поле ввода, которое позволяет пользователю выбрать число или значение объекта из упорядоченной последовательности.

JLabel

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

JButton

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

JColorChooser

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

JCheckBox

JCheckBox — это графический компонент, который может находиться во включенном (true) или выключенном (false) состоянии.

JRadioButton

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

JList

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

JComboBox

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

JTextField

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

JPasswordField

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

JTextArea

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

ImageIcon

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

JScrollBar

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

JOptionPane

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

JFileChooser

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

JProgressBar

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

JSlider

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

JSpinner

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

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