Jython - การใช้ไลบรารี Swing GUI

คุณสมบัติหลักอย่างหนึ่งของ Jython คือความสามารถในการใช้ไลบรารี Swing GUI ใน JDK การแจกแจงมาตรฐาน Python (มักเรียกว่า CPython) มีนามสกุลTkinter GUI libraryมาพร้อมกับมัน ไลบรารี GUI อื่น ๆ เช่นPyQt และ WxPython นอกจากนี้ยังมีให้ใช้งานด้วย แต่ไลบรารีวงสวิงมีชุดเครื่องมือ GUI ที่ไม่ขึ้นกับแพลตฟอร์ม

การใช้ไลบรารีวงสวิงใน Jython นั้นง่ายกว่ามากเมื่อเทียบกับการใช้ใน Java ใน Java จะต้องใช้คลาสที่ไม่ระบุชื่อเพื่อสร้างการโยงเหตุการณ์ ใน Jython เราสามารถส่งผ่านฟังก์ชันเพื่อวัตถุประสงค์เดียวกันได้

หน้าต่างระดับบนสุดพื้นฐานถูกสร้างขึ้นโดยการประกาศออบเจ็กต์ของไฟล์ JFrame classและตั้งค่าคุณสมบัติที่มองเห็นเป็นจริง ด้วยเหตุนี้คลาส Jframe จะต้องถูกนำเข้าจากแพ็คเกจสวิง

from javax.swing import JFrame

คลาส JFrame มีตัวสร้างหลายตัวที่มีจำนวนอาร์กิวเมนต์ต่างกัน เราจะใช้อันที่รับสตริงเป็นอาร์กิวเมนต์และตั้งเป็นหัวเรื่อง

frame = JFrame(“Hello”)

ตั้งค่าขนาดของเฟรมและคุณสมบัติตำแหน่งก่อนตั้งค่าคุณสมบัติที่มองเห็นเป็นจริง จัดเก็บรหัสต่อไปนี้เป็น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 มีให้ในรูปแบบ javax.swingแพ็คเกจใน Java คลาสคอนเทนเนอร์หลักJFrame และ JDialogตามลำดับมาจากคลาส Frame และ Dialog ซึ่งอยู่ในไลบรารี AWT การควบคุม GUI อื่น ๆ เช่นJLabel, JButton, JTextField, เป็นต้นมาจากคลาส JComponent

ภาพประกอบต่อไปนี้แสดงลำดับชั้นของ Swing Package Class

ตารางต่อไปนี้สรุปคลาสการควบคุม GUI ที่แตกต่างกันในไลบรารีวงสวิง -

ซีเนียร์ ชั้นเรียนและคำอธิบาย
1

JLabel

วัตถุ JLabel เป็นส่วนประกอบสำหรับวางข้อความในคอนเทนเนอร์

2

JButton

คลาสนี้สร้างปุ่มที่มีป้ายกำกับ

3

JColorChooser

JColorChooser มีบานหน้าต่างควบคุมที่ออกแบบมาเพื่อให้ผู้ใช้จัดการและเลือกสีได้

4

JCheckBox

JCheckBox เป็นส่วนประกอบแบบกราฟิกที่สามารถอยู่ในไฟล์ on (จริง) หรือ off (เท็จ)

5

JRadioButton

คลาส JRadioButton เป็นส่วนประกอบกราฟิกที่สามารถอยู่ในสถานะเปิด (จริง) หรือปิด (เท็จ) ในกลุ่ม

6

JList

คอมโพเนนต์ JList นำเสนอผู้ใช้ด้วยรายการข้อความแบบเลื่อน

7

JComboBox

คอมโพเนนต์ JComboBox นำเสนอผู้ใช้ด้วยรายการแบบหล่นลง

8

JTextField

วัตถุ JTextField เป็นส่วนประกอบข้อความที่อนุญาตให้แก้ไขข้อความบรรทัดเดียว

9

JPasswordField

วัตถุ JPasswordField เป็นส่วนประกอบข้อความเฉพาะสำหรับการป้อนรหัสผ่าน

10

JTextArea

วัตถุ JTextArea เป็นส่วนประกอบข้อความที่อนุญาตให้แก้ไขข้อความหลายบรรทัด

11

ImageIcon

การควบคุม ImageIcon คือการใช้งานอินเทอร์เฟซไอคอนที่วาดไอคอนจากรูปภาพ

12

JScrollbar

ตัวควบคุมแถบเลื่อนแสดงส่วนประกอบของแถบเลื่อนเพื่อให้ผู้ใช้สามารถเลือกจากช่วงของค่าได้

13

JOptionPane

JOptionPane จัดเตรียมกล่องโต้ตอบมาตรฐานที่แจ้งให้ผู้ใช้ทราบค่าหรือแจ้งให้พวกเขาทราบ

14

JFileChooser

ตัวควบคุม JFileChooser แสดงถึงหน้าต่างโต้ตอบที่ผู้ใช้สามารถเลือกไฟล์

15

JProgressBar

เมื่องานดำเนินไปสู่ความสำเร็จแถบความคืบหน้าจะแสดงเปอร์เซ็นต์ความสำเร็จของงาน

16

JSlider

JSlider ช่วยให้ผู้ใช้สามารถเลือกค่าแบบกราฟิกได้โดยการเลื่อนปุ่มภายในช่วงเวลาที่มีขอบเขต

17

JSpinner

JSpinner เป็นฟิลด์อินพุตบรรทัดเดียวที่ให้ผู้ใช้เลือกตัวเลขหรือค่าอ็อบเจ็กต์จากลำดับ

เราจะใช้การควบคุมเหล่านี้บางส่วนในตัวอย่างต่อไป