Jython - Sử dụng thư viện Swing GUI
Một trong những tính năng chính của Jython là khả năng sử dụng thư viện Swing GUI trong JDK. Phân phối Python chuẩn (thường được gọi là CPython) cóTkinter GUI libraryvận chuyển với nó. Các thư viện GUI khác nhưPyQt và WxPython cũng có sẵn để sử dụng với nó, nhưng thư viện swing cung cấp một bộ công cụ GUI độc lập với nền tảng.
Sử dụng thư viện swing trong Jython dễ dàng hơn nhiều so với sử dụng nó trong Java. Trong Java, các lớp ẩn danh phải được sử dụng để tạo ràng buộc sự kiện. Trong Jython, chúng ta có thể chuyển một hàm cho cùng một mục đích.
Cửa sổ cấp cao nhất cơ bản được tạo bằng cách khai báo một đối tượng của JFrame classvà đặt thuộc tính hiển thị của nó thành true. Vì vậy, lớp Jframe cần được nhập từ gói swing.
from javax.swing import JFrame
Lớp JFrame có nhiều hàm tạo với số lượng đối số khác nhau. Chúng ta sẽ sử dụng một, lấy một chuỗi làm đối số và đặt nó làm tiêu đề.
frame = JFrame(“Hello”)
Đặt thuộc tính kích thước và vị trí của khung trước khi đặt thuộc tính hiển thị của nó thành true. Lưu trữ mã sau dưới dạngframe.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)
Chạy tập lệnh trên từ dấu nhắc lệnh. Nó sẽ hiển thị đầu ra sau đây hiển thị một cửa sổ.
Thư viện GUI swing được cung cấp dưới dạng javax.swinggói trong Java. Các lớp container chính của nó,JFrame và JDialogtương ứng có nguồn gốc từ các lớp Frame và Dialog, nằm trong thư viện AWT. Các điều khiển GUI khác nhưJLabel, JButton, JTextField, vv, có nguồn gốc từ lớp JComponent.
Hình minh họa sau đây cho thấy hệ thống phân cấp Lớp gói Swing.
Bảng sau đây tóm tắt các lớp điều khiển GUI khác nhau trong thư viện swing:
Sr.No. | Lớp & Mô tả |
---|---|
1 | JLabel Đối tượng JLabel là một thành phần để đặt văn bản trong vùng chứa. |
2 | JButton Lớp này tạo một nút có nhãn. |
3 | JColorChooser JColorChooser cung cấp một ngăn điều khiển được thiết kế để cho phép người dùng thao tác và chọn màu. |
4 | JCheckBox JCheckBox là một thành phần đồ họa có thể nằm trong một on (hoặc đúng off (sai) trạng thái. |
5 | JRadioButton Lớp JRadioButton là một thành phần đồ họa có thể ở trạng thái bật (đúng) hoặc tắt (sai). trong một nhóm. |
6 | JList Một thành phần JList trình bày cho người dùng một danh sách cuộn các mục văn bản. |
7 | JComboBox Thành phần JComboBox hiển thị cho người dùng danh sách các mục thả xuống |
số 8 | JTextField Đối tượng JTextField là một thành phần văn bản cho phép chỉnh sửa một dòng văn bản. |
9 | JPasswordField Đối tượng JPasswordField là một thành phần văn bản chuyên dùng để nhập mật khẩu. |
10 | JTextArea Đối tượng JTextArea là một thành phần văn bản cho phép chỉnh sửa nhiều dòng văn bản. |
11 | ImageIcon Điều khiển ImageIcon là một triển khai của giao diện Biểu tượng vẽ các Biểu tượng từ Hình ảnh |
12 | JScrollbar Điều khiển Thanh cuộn đại diện cho một thành phần thanh cuộn để cho phép người dùng chọn từ phạm vi giá trị. |
13 | JOptionPane JOptionPane cung cấp tập hợp các hộp thoại tiêu chuẩn nhắc người dùng nhập một giá trị hoặc thông báo cho họ về điều gì đó. |
14 | JFileChooser Điều khiển JFileChooser đại diện cho một cửa sổ hộp thoại mà từ đó người dùng có thể chọn một tệp. |
15 | JProgressBar Khi nhiệm vụ tiến tới hoàn thành, thanh tiến trình hiển thị phần trăm hoàn thành của nhiệm vụ. |
16 | JSlider JSlider cho phép người dùng chọn một giá trị bằng đồ thị bằng cách trượt một núm trong một khoảng giới hạn. |
17 | JSpinner JSpinner là một trường nhập một dòng cho phép người dùng chọn một số hoặc một giá trị đối tượng từ một chuỗi có thứ tự. |
Chúng tôi sẽ sử dụng một số điều khiển này trong các ví dụ tiếp theo.