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