Jython - 使用 Swing GUI 库
Jython 的主要特性之一是它能够使用 JDK 中的 Swing GUI 库。 标准 Python 发行版(通常称为 CPython)附带有 Tkinter GUI 库。 其他 GUI 库,如 PyQt 和 WxPython 也可用于它,但 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)
从命令提示符运行上面的脚本。 它将显示以下显示窗口的输出。
swing GUI库在Java中以javax.swing包的形式提供。它的主要容器类 JFrame 和 JDialog 分别派生自 AWT 库中的 Frame 和 Dialog 类。其他 GUI 控件,如 JLabel、JButton、JTextField, 等,都是从 JComponent 类派生的。
下图显示了 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 是一个单行输入字段,允许用户从有序序列中选择数字或对象值。 |
我们将在随后的示例中使用其中的一些控件。