Jython 使用Swing GUI库

Jython 使用Swing GUI库

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

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

声明一个 JFrame类 的对象并将其visible属性设置为true可以创建基本的顶层窗口。为此,需要从swing包中导入JFrame类。

from javax.swing import JFrame

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

frame = JFrame(“Hello”)

将frame的大小和位置属性设置为真之前,将frame的可见属性设置为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)

从命令提示符中运行上述脚本。它将显示以下输出,显示一个窗口。

Jython 使用Swing GUI库

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

下面的示意图展示了Swing包的类层次结构。

Jython 使用Swing GUI库

下表总结了Swing库中不同的GUI控件类:

编号 类别与描述
1 JLabel 一个JLabel对象是一个将文本放置在容器中的组件。
2 JButton 这个类创建一个带标签的按钮。
3 JColorChooser JColorChooser提供了一个控制面板,方便用户操纵和选择颜色。
4 JCheckBox 一个JCheckBox是一个图形组件,可以处于选中(true)或未选中(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 滚动条控件表示滚动条组件,以便用户可以从一系列值中进行选择。
13 JOptionPane JOptionPane提供了一组标准的对话框,提示用户输入一个值或者通知他们某事。
14 JFileChooser JFileChooser控件表示一个对话框窗口,用户可以从中选择一个文件。
15 JProgressBar 当任务向完成途中进展时,进度条显示任务的完成百分比。
16 JSlider JSlider允许用户通过在有界区间内滑动一个旋钮来图形化选择一个值。
17 JSpinner JSpinner是一个单行输入字段,允许用户从有序序列中选择一个数字或对象值。

我们在接下来的示例中将使用其中一些控件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程