Jython - 使用 Swing GUI 库

Jython 的主要特性之一是它能够使用 JDK 中的 Swing GUI 库。 标准 Python 发行版(通常称为 CPython)附带有 Tkinter GUI 库。 其他 GUI 库,如 PyQtWxPython 也可用于它,但 swing 库提供了一个独立于平台的 GUI 工具包。

与在 Java 中使用相比,在 Jython 中使用 swing 库要容易得多。 在 Java 中,必须使用匿名类来创建事件绑定。 在 Jython 中,我们可以简单地传递一个用于相同目的的函数。

基本顶层窗口是通过声明 JFrame 类 的对象并将其可见属性设置为 true 来创建的。 为此,需要从 swing 包中导入 Jframe 类。

from javax.swing import JFrame

JFrame 类有多个带有不同数量参数的构造函数。 我们将使用一个,它将一个字符串作为参数并将其设置为标题。

frame = JFrame(“Hello”)

在将其可见属性设置为 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)

从命令提示符运行上面的脚本。 它将显示以下显示窗口的输出。

Window

swing GUI库在Java中以javax.swing包的形式提供。它的主要容器类 JFrameJDialog 分别派生自 AWT 库中的 Frame 和 Dialog 类。其他 GUI 控件,如 JLabel、JButton、JTextField, 等,都是从 JComponent 类派生的。

下图显示了 Swing 包类层次结构。

Swing 包类层次结构

下表总结了一个swing库中不同的GUI控件类 −

序号 类 & 说明
1

JLabel

JLabel 对象是用于在容器中放置文本的组件。

2

JButton

此类创建一个带标签的按钮。

3

JColorChooser

JColorChooser 提供了一个控件面板,旨在允许用户操作和选择颜色。

4

JCheckBox

JCheckBox 是一个图形组件,可以处于on (true) 或off (false) 状态。

5

JRadioButton

JRadioButton 类是一个图形组件,可以处于打开 (true) 或关闭 (false) 状态。 在一组中。

6

JList

JList 组件向用户呈现一个滚动的文本项列表。

7

JComboBox

JComboBox 组件向用户显示项目的下拉列表

8

JTextField

JTextField 对象是允许编辑单行文本的文本组件。

9

JPasswordField

JPasswordField 对象是专门用于密码输入的文本组件。

10

JTextArea

JTextArea 对象是允许编辑多行文本的文本组件。

11

ImageIcon

ImageIcon 控件是 Icon 接口的实现,它根据图像绘制图标

12

JScrollbar

Scrollbar 控件表示一个滚动条组件,以使用户能够从一系列值中进行选择。

13

JOptionPane

JOptionPane 提供一组标准对话框,提示用户输入值或通知他们一些事情。

14

JFileChooser

JFileChooser 控件代表一个对话窗口,用户可以从中选择文件。

15

JProgressBar

随着任务的完成,进度条会显示任务的完成百分比。

16

JSlider

JSlider 允许用户通过在有界间隔内滑动旋钮以图形方式选择一个值。

17

JSpinner

JSpinner 是一个单行输入字段,允许用户从有序序列中选择数字或对象值。

我们将在随后的示例中使用其中的一些控件。