Jython - Utilisation de la bibliothèque Swing GUI
L'une des principales fonctionnalités de Jython est sa capacité à utiliser la bibliothèque Swing GUI dans JDK. La distribution Python standard (souvent appelée CPython) a leTkinter GUI librarylivré avec. D'autres bibliothèques GUI commePyQt et WxPython sont également disponibles pour une utilisation avec elle, mais la bibliothèque swing offre une boîte à outils d'interface graphique indépendante de la plate-forme.
L'utilisation de la bibliothèque swing en Jython est beaucoup plus simple que de l'utiliser en Java. En Java, les classes anonymes doivent être utilisées pour créer une liaison d'événement. En Jython, nous pouvons simplement passer une fonction dans le même but.
La fenêtre de niveau supérieur de base est créée en déclarant un objet du JFrame classet définissez sa propriété visible sur true. Pour cela, la classe Jframe doit être importée du package swing.
from javax.swing import JFrame
La classe JFrame a plusieurs constructeurs avec un nombre variable d'arguments. Nous utiliserons celui, qui prend une chaîne comme argument et la définit comme titre.
frame = JFrame(“Hello”)
Définissez les propriétés de taille et d'emplacement du cadre avant de définir sa propriété visible sur true. Stockez le code suivant commeframe.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)
Exécutez le script ci-dessus à partir de l'invite de commande. Il affichera la sortie suivante montrant une fenêtre.
La bibliothèque Swing GUI est fournie sous la forme de javax.swingpackage en Java. Ses principales classes de conteneurs,JFrame et JDialogsont respectivement dérivés des classes Frame et Dialog, qui se trouvent dans la bibliothèque AWT. Autres contrôles GUI commeJLabel, JButton, JTextField, etc., sont dérivés de la classe JComponent.
L'illustration suivante montre la hiérarchie des classes de packages Swing.
Le tableau suivant résume les différentes classes de contrôle GUI dans une bibliothèque swing -
N ° Sr. | Classe et description |
---|---|
1 | JLabel Un objet JLabel est un composant permettant de placer du texte dans un conteneur. |
2 | JButton Cette classe crée un bouton étiqueté. |
3 | JColorChooser Un JColorChooser fournit un volet de contrôles conçu pour permettre à un utilisateur de manipuler et de sélectionner une couleur. |
4 | JCheckBox Un JCheckBox est un composant graphique qui peut être dans un on (vrai ou off (faux) état. |
5 | JRadioButton La classe JRadioButton est un composant graphique qui peut être dans un état activé (vrai) ou désactivé (faux). dans un groupe. |
6 | JList Un composant JList présente à l'utilisateur une liste déroulante d'éléments de texte. |
sept | JComboBox Un composant JComboBox présente à l'utilisateur une liste déroulante d'éléments |
8 | JTextField Un objet JTextField est un composant de texte qui permet de modifier une seule ligne de texte. |
9 | JPasswordField Un objet JPasswordField est un composant de texte spécialisé pour la saisie de mot de passe. |
dix | JTextArea Un objet JTextArea est un composant de texte qui permet de modifier plusieurs lignes de texte. |
11 | ImageIcon Un contrôle ImageIcon est une implémentation de l'interface Icon qui peint des icônes à partir d'images |
12 | JScrollbar Un contrôle Scrollbar représente un composant de barre de défilement afin de permettre à l'utilisateur de sélectionner parmi une plage de valeurs. |
13 | JOptionPane JOptionPane fournit un ensemble de boîtes de dialogue standard qui invitent les utilisateurs à saisir une valeur ou les informent de quelque chose. |
14 | JFileChooser Un contrôle JFileChooser représente une fenêtre de dialogue dans laquelle l'utilisateur peut sélectionner un fichier. |
15 | JProgressBar Au fur et à mesure que la tâche progresse vers l'achèvement, la barre de progression affiche le pourcentage d'achèvement de la tâche. |
16 | JSlider Un JSlider permet à l'utilisateur de sélectionner graphiquement une valeur en faisant glisser un bouton dans un intervalle limité. |
17 | JSpinner Un JSpinner est un champ de saisie sur une seule ligne qui permet à l'utilisateur de sélectionner un nombre ou une valeur d'objet dans une séquence ordonnée. |
Nous utiliserions certains de ces contrôles dans les exemples suivants.