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.