Jython – 使用Swing GUI库
Jython的主要特点之一是它能够使用JDK中的Swing GUI库。标准Python发行版(通常称为CPython)有 Tkinter GUI库 。其他的GUI库如 PyQt 和 WxPython 也可以和它一起使用,但swing库提供了一个独立于平台的GUI工具箱。
在Jython中使用swing库比在Java中使用它要容易得多。在Java中,必须使用匿名类来创建事件绑定。在Jython中,我们可以简单地通过一个函数来达到同样的目的。
基本的顶层窗口是通过声明一个 JFrame类 的对象并将其可见属性设置为 “true “来创建的。 为此,Jframe类需要从swing包中导入。
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包类的层次结构。
The following table summarizes different GUI control classes in a swing library −
编号:Sr.No. | 类和描述 |
---|---|
1 | JLabel JLabel对象是一个用于在容器中放置文本的组件。 |
2 | JButton 该类创建一个有标签的按钮。 |
3 | JColorChooser 一个JColorChooser提供了一个控制窗格,旨在允许用户操作和选择颜色。 |
4 | JCheckBox 一个JCheckBox是一个图形组件,可以处于 开启 (真)或 关闭 (假)状态。 |
5 | JRadioButton JRadioButton类是一个图形组件,可以处于开(真)或关(假)的状态。 |
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是一个单行输入域,让用户从一个有序的序列中选择一个数字或一个对象值。 |
我们将在随后的例子中使用这些控件中的一些。