
- Jython 教程
- Jython - 首页
- Jython - 概述
- Jython - 安装
- Jython - 导入Java库
- Jython - 变量和数据类型
- Jython - 使用Java集合类型
- Jython - 决策控制
- Jython - 循环
- Jython - 函数
- Jython - 模块
- Jython - 包
- Jython - Java应用程序
- Jython - Eclipse插件
- Jython - Eclipse中的项目
- Jython - NetBeans插件和项目
- Jython - Servlet
- Jython - JDBC
- Jython - 使用Swing GUI库
- Jython - 布局管理
- Jython - 事件处理
- Jython - 菜单
- Jython - 对话框
- Jython 有用资源
- Jython - 快速指南
- Jython - 有用资源
- Jython - 讨论
Jython - 使用Swing GUI库
Jython 的主要特性之一是能够使用 JDK 中的 Swing GUI 库。标准 Python 发行版(通常称为 CPython)附带了Tkinter GUI 库。其他 GUI 库,如PyQt和WxPython,也可以与之一起使用,但 Swing 库提供了一个平台无关的 GUI 工具包。
与在 Java 中使用 Swing 库相比,在 Jython 中使用它要容易得多。在 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 是一个图形组件,可以处于开(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 Scrollbar 控件表示一个滚动条组件,以便用户可以从值的范围内进行选择。 |
13 | JOptionPane JOptionPane 提供一组标准对话框,用于提示用户输入值或通知用户某些信息。 |
14 | JFileChooser JFileChooser 控件表示一个对话框窗口,用户可以在其中选择文件。 |
15 | JProgressBar 随着任务向完成方向发展,进度条显示任务的完成百分比。 |
16 | JSlider JSlider 允许用户通过在有界区间内滑动旋钮来以图形方式选择值。 |
17 | JSpinner JSpinner 是一个单行输入字段,允许用户从有序序列中选择数字或对象值。 |
我们将在后续示例中使用其中一些控件。