Jython - Korzystanie z biblioteki Swing GUI

Jedną z głównych cech Jythona jest możliwość korzystania z biblioteki Swing GUI w JDK. Standardowa dystrybucja Pythona (często nazywana CPython) ma rozszerzenieTkinter GUI librarywysłane z nim. Inne biblioteki GUI, takie jakPyQt i WxPython są również dostępne do użytku z nim, ale biblioteka swing oferuje niezależny od platformy zestaw narzędzi GUI.

Korzystanie z biblioteki swing w Jythonie jest znacznie łatwiejsze w porównaniu do używania jej w Javie. W Javie do tworzenia powiązań zdarzeń muszą być używane klasy anonimowe. W Jythonie możemy po prostu przekazać funkcję w tym samym celu.

Podstawowe okno najwyższego poziomu jest tworzone przez zadeklarowanie obiektu JFrame classi ustaw jego właściwość visible na true. W tym celu należy zaimportować klasę Jframe z pakietu swing.

from javax.swing import JFrame

Klasa JFrame ma wiele konstruktorów z różną liczbą argumentów. Użyjemy tego, który przyjmuje ciąg jako argument i ustawia go jako tytuł.

frame = JFrame(“Hello”)

Ustaw właściwości rozmiaru i położenia ramki przed ustawieniem jej właściwości visible na true. Zapisz następujący kod jakoframe.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)

Uruchom powyższy skrypt z wiersza polecenia. Wyświetli następujące dane wyjściowe pokazujące okno.

Biblioteka Swing GUI jest dostarczana w postaci javax.swingpakiet w Javie. Główne klasy kontenerów,JFrame i JDialogpochodzą odpowiednio z klas Frame i Dialog, które znajdują się w bibliotece AWT. Inne kontrolki GUI, takie jakJLabel, JButton, JTextField, itp. pochodzą z klasy JComponent.

Na poniższej ilustracji przedstawiono hierarchię klas pakietu Swing.

Poniższa tabela podsumowuje różne klasy sterowania GUI w bibliotece swing -

Sr.No. Klasa i opis
1

JLabel

Obiekt JLabel to komponent służący do umieszczania tekstu w kontenerze.

2

JButton

Ta klasa tworzy przycisk z etykietą.

3

JColorChooser

JColorChooser udostępnia panel kontrolek zaprojektowanych w celu umożliwienia użytkownikowi manipulowania i wybierania koloru.

4

JCheckBox

JCheckBox to składnik graficzny, który może znajdować się w pliku on (prawda lub off (fałszywy) stan.

5

JRadioButton

Klasa JRadioButton to komponent graficzny, który może znajdować się w stanie włączenia (prawda) lub wyłączenia (fałsz). w grupie.

6

JList

Komponent JList przedstawia użytkownikowi przewijaną listę elementów tekstowych.

7

JComboBox

Komponent JComboBox przedstawia użytkownikowi rozwijaną listę elementów

8

JTextField

Obiekt JTextField to komponent tekstowy, który umożliwia edycję pojedynczego wiersza tekstu.

9

JPasswordField

Obiekt JPasswordField to składnik tekstowy przeznaczony do wprowadzania hasła.

10

JTextArea

Obiekt JTextArea jest składnikiem tekstowym, który umożliwia edycję wielu wierszy tekstu.

11

ImageIcon

Formant ImageIcon jest implementacją interfejsu Icon, który maluje ikony z obrazów

12

JScrollbar

Element sterujący Scrollbar reprezentuje składnik paska przewijania umożliwiający użytkownikowi wybór z zakresu wartości.

13

JOptionPane

JOptionPane udostępnia zestaw standardowych okien dialogowych, które monitują użytkowników o podanie wartości lub informują ich o czymś.

14

JFileChooser

Kontrolka JFileChooser reprezentuje okno dialogowe, w którym użytkownik może wybrać plik.

15

JProgressBar

W miarę postępu zadania w kierunku ukończenia na pasku postępu wyświetlany jest procent wykonania zadania.

16

JSlider

JSlider pozwala użytkownikowi graficznie wybrać wartość, przesuwając gałkę w określonym przedziale.

17

JSpinner

JSpinner to jednowierszowe pole wejściowe, które pozwala użytkownikowi wybrać liczbę lub wartość obiektu z uporządkowanej sekwencji.

Będziemy używać niektórych z tych kontrolek w kolejnych przykładach.