JFrame | Java Swing
Dans ce tutoriel nous allons découvrir c’est quoi un JFrame? Les bases de JFrame, la création et la personnalisation de JFrame.
Qu’est-ce que JFrame?
JFrame est une classe qui se trouve dans le package javax.swing qui hérite de java.awt.frame, il ajoute la prise en charge de l’architecture des composants SWING. Il s’agit d’une fenêtre de niveau supérieur, avec une bordure et une barre de titre. La classe JFrame possède de nombreuses méthodes qui peuvent être utilisées pour la personnaliser.
Création d’un JFrame
La classe JFrame a de nombreux constructeurs utilisés pour créer un JFrame.
JFrame() | Crée un frame qui est invisible |
JFrame(GraphicsConfiguration gc) | Crée un frame avec un titre vierge et une configuration graphique du périphérique d’écran. |
JFrame(String title) | Crée un frame avec un titre. |
JFrame(String title, GraphicsConfiguration gc) | Crée un frame avec une configuration graphique spécifique et un titre spécifié. |
Exemple : Créer un JFrame
Voici un exemple simple pour créer un JFrame.
import javax.swing.JFrame; public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setVisible(true); } }
Sortie:
Exemple : Modifier la taille de la fenêtre d’un JFrame
Pour redimensionner un frame, JFrame fournit une méthode JFrame.setSize(int largeur, int hauteur), il faut deux paramètres largeur et hauteur. Voici à quoi ressemble le code maintenant:
JFrame frame = new JFrame(); frame.setSize(300, 300); frame.setVisible(true);
Sortie:
Exemple : Définir le titre de JFrame
Pour définir le titre d’un JFrame, vous pouvez utiliser JFrame.setTitle(String title).
JFrame frame = new JFrame(); frame.setSize(300, 300); frame.setTitle("Welecome to WayToLearnX!"); frame.setVisible(true);
Sortie:
Redimensionner un JFrame
Après avoir défini la taille d’un JFrame, vous remarquerez que vous pouvez toujours changer sa taille en plaçant simplement le curseur dans les coins et en le faisant glisser. Ou si vous appuyez sur l’option de redimensionnement à côté de fermer dans le coin supérieur droit, il sera agrandi à la taille du plein écran. Cela se produit car le redimensionnement est défini sur « true » par défaut. Vous pouvez simplement la redéfinir sur « false », en utilisant JFrame.setResizable(false).
JFrame frame = new JFrame(); frame.setSize(300, 300); frame.setTitle("Welecome to WayToLearnX!"); frame.setResizable(false); frame.setVisible(true);
Maintenant, il apparaîtra selon les dimensions que vous avez données dans le code et ne sera pas redimensionné par l’interface graphique.
Sortie:
Changer de position sur l’écran
Pour changer la position de JFrame à l’écran, JFrame fournit la méthode JFrame.setlocation(int x, int y), il faut deux paramètres x représente la position de l’axe x et y représente la position de l’axe y. Le coin supérieur gauche de votre écran est (0,0).
JFrame frame = new JFrame(); frame.setSize(300, 300); frame.setTitle("Welecome to WayToLearnX!"); frame.setResizable(false); frame.setLocation(140, 70); frame.setVisible(true);
Sortie:
Fermer un JFrame
Vous pouvez facilement fermer votre JFrame en cliquant sur le X(croix) dans le coin supérieur droite de JFrame. Cependant JFrame.setDefaultCloseOperation(int) est une méthode fournie par la classe JFrame, vous pouvez définir l’opération qui se produira lorsque l’utilisateur cliquera sur le X(croix). Si « 0 » est donné comme paramètre, JFrame ne se fermera pas même après avoir cliqué sur le X(croix).
– Il est recommandé d’utiliser JFrame.EXIT_ON_CLOSE, il quitte l’application(JFrame) et libère de la mémoire.
– JFrame.HIDE_ON_CLOSE: Il ne ferme pas JFrame, il le masque simplement.
– JFrame.DISPOSE_ON_CLOSE: il supprime le frame, mais il continue de fonctionner et consomme de la mémoire.
– JFrame.DO_NOTHING_ON_CLOSE: Cela ne fait rien lorsque l’utilisateur clique sur Fermer.
JFrame frame = new JFrame(); frame.setSize(300, 300); frame.setTitle("Welecome to WayToLearnX!"); frame.setResizable(false); frame.setLocation(140, 70); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Bonjour. Ce cours m’a beaucoup aidé. Merci!