Welcome! Anonymous


[SWING] Votre première fenêtre en JAVA

Tout concernant le langage Java

[SWING] Votre première fenêtre en JAVA

Messagede totocam » Mer 15 Avr 2009 10:12

Ce tutoriel a pour but de vous apprendre à créer votre première fenêtre en JAVA avec la bibliothèque SWING.


Rentrons dans le cœur du sujet :

- Tout d'abord, il faut savoir que tout se passe dans des classes en JAVA, c'est à dire l'implémentation de vos classes métiers ainsi que le programme principal (Main).

Voici donc sans plus tarder un exemple d'implémentation d'une fenêtre en JAVA. ( Je tiens à préciser que ce n'est pas la seule façon de créer une fenêtre, il n'y a d'ailleurs pas de bonne façon)

Code: Tout sélectionner

package PremiereFenetre;

import java.awt.Dimension;
import javax.swing.JFrame;

public class Fenetre extends JFrame {
   
    //--------------------------------------
    // Attributs
    //--------------------------------------
    private static final long serialVersionUID = 1L;
    private static final Dimension TAILLE_FENETRE = new Dimension(800,800);
    private static final Dimension TAILLE_MAXIMALE = new Dimension(3000,3000);
   
    //--------------------------------------
    // Constructeur
    //--------------------------------------
    public Fenetre()
    {
        // On applique le constructeur de la classe mère
        super();
       
        // On initilise les composants de la fenêtre
        initialize();
    }
   
    //--------------------------------------
    // Méthodes
    //--------------------------------------
    public void initialize()
    {
        // On donne un titre à cette fenêtre
        setTitle("Ma première fenêtre en JAVA");
       
        // On change la taille de la fenêtre
        setPreferredSize(TAILLE_FENETRE);
       
        // On donne la taille maximale de la fenêtre
        setMaximumSize(TAILLE_MAXIMALE);
       
        // On maximize la fenêtre
        setExtendedState(MAXIMIZED_BOTH);
       
        // On donne l'action par défaut lors de la sortie
        setDefaultCloseOperation(EXIT_ON_CLOSE);
       
        // On rend la fenêtre visible
        setVisible(true);
    }
   
    //--------------------------------------
    // Programme Principal
    //--------------------------------------
    public static void main(String[] args)
    {
        new Fenetre();
    }

}

 
- Maintenant, les explications :
Le mot clé package permet de définir un espace de travail où les classes et les attributs se voient entre eux à condition qu'ils ne soient pas privés.

- On créé ensuite une classe fenêtre qui hérite (extends) de la classe JFrame (C'est la classe Fenêtre de SWING).

- On déclare ensuite 2 attributs constants et statiques de type Dimension pour régler les dimensions minimales et maximales de la fenêtre.

- On définit ensuite le constructeur de la classe fenêtre en appliquant le constructeur de la classe mère avec le mot clé 'super' (Ici la classe mère est la classe JFrame), et on appelle la méthode de classe Initialize() qui est définie plus bas et qui permet d'initialiser les différentes propriétés de la fenêtre.

- Il ne nous reste plus qu'à appeler cette fenêtre dans le programme principal, c'est à dire dans le Main().
Pour cela, rien de plus simple il suffit d'ajouter dans le corps de la méthode main() un
Code: Tout sélectionner
new Fenetre()
, ce qui permet d'appeler le constructeur de la classe fenêtre avec toutes les propriétés de celle-ci initialisées.

- La fenetre sortira donc, si vous avez bien suivi en taille maximale de votre résolution d'écran si celle-ci est inférieure à la Dimension que j'ai définit dans la classe fenêtre.

- Voici un petit screen pour mieux comprendre:


- Si vous avez des questions sur ce tutoriel, n'hésitez pas à me solliciter.
Avatar de l’utilisateur
totocam
Co-administrateur
Co-administrateur
 
Messages: 177
Inscription: Jeu 31 Jan 2008 13:11
Tchup`s - points: 80.00
Localisation: AUSSONNE

Publicité

Messagede Tchupa » Lun 27 Avr 2009 11:03

Moi pour le moment, je comprends le truc en général mais vu que j'ai encore jamais vu l'extension de class , ça me parle pas plus que ça, je penses que les initiés pourront en dire plus sur la compréhension de ton tutoriel mais à première vu ça me parait plutôt bien expliquer et clair.
Attendons l'avis de notre deuxième codeur officiel Alton ;)
:throb: ღ ♥Kornette | Blog de Tchupa Corporate
Avatar de l’utilisateur
Tchupa
Fondateur
Fondateur
 
Messages: 4209
Inscription: Dim 25 Déc 2005 18:27
Tchup`s - points: 830.00
Localisation: In My Mind

Messagede alton » Lun 27 Avr 2009 11:21

Attendons l'avis de notre deuxième codeur officiel Alton

[color="DarkGreen"]Ben que dire? c'est clair net, précis. Bref, un bon tuto. :great:[/color]

vu que j'ai encore jamais vu l'extension de class

[color="DarkGreen"]En gros, quand une classe hérite d'une autre, elle reprend ses propriétés et ses méthodes. Et pour appeler la classe dont elle hérite, on utilise super[/color]
Ceux qui disent que c'est compliqué de se mettre à linux n'ont jamais essayé de comprendre une fille.
Avatar de l’utilisateur
alton
Co-administrateur
Co-administrateur
 
Messages: 664
Inscription: Ven 1 Fév 2008 11:57
Tchup`s - points: 180.00

Messagede totocam » Lun 27 Avr 2009 11:23

L'extension de classe (exends) n'est autre qu'un héritage d'une autre classe, c'est à dire que la classe fille hérite des attributs et méthodes de la classe mère.

Mais ces explications ne sont pas propre à Java mais plutôt aux concepts Objet.

Il est clair que les gens n'ayant jamais vu ces concepts auront du mal à suivre les tutoriaux Java.
Avatar de l’utilisateur
totocam
Co-administrateur
Co-administrateur
 
Messages: 177
Inscription: Jeu 31 Jan 2008 13:11
Tchup`s - points: 80.00
Localisation: AUSSONNE

Messagede totocam » Lun 27 Avr 2009 11:25

Bon ben Alton à été plus rapide que moi pour la réponse :)
Avatar de l’utilisateur
totocam
Co-administrateur
Co-administrateur
 
Messages: 177
Inscription: Jeu 31 Jan 2008 13:11
Tchup`s - points: 80.00
Localisation: AUSSONNE

Messagede Tchupa » Lun 27 Avr 2009 18:37

Il ya qu'une seule méthode a ton programme c'est bien ça? :o
:throb: ღ ♥Kornette | Blog de Tchupa Corporate
Avatar de l’utilisateur
Tchupa
Fondateur
Fondateur
 
Messages: 4209
Inscription: Dim 25 Déc 2005 18:27
Tchup`s - points: 830.00
Localisation: In My Mind

Messagede totocam » Mar 28 Avr 2009 09:44

Il y a deux méthodes, une est une méthode métier qui initialise les propriétés de la fenêtre, et l'autre est la méthode main qui permet d'instancier un objet de ta classe Fenetre.
Avatar de l’utilisateur
totocam
Co-administrateur
Co-administrateur
 
Messages: 177
Inscription: Jeu 31 Jan 2008 13:11
Tchup`s - points: 80.00
Localisation: AUSSONNE

Messagede JrM » Mar 28 Avr 2009 11:09

faut peu etre que j'aille a mes CM de programmation alors : (
Avatar de l’utilisateur
JrM
Tchup - Junior
Tchup - Junior
 
Messages: 768
Inscription: Dim 10 Aoû 2008 19:00
Tchup`s - points: 90.00
Localisation: Tours

Messagede totocam » Mar 28 Avr 2009 11:34

J'ai pas tout compris ce que tu voulais dire Jrm, tu voulais dire qu'il faudrais que tu aille en cours de prog ?
Avatar de l’utilisateur
totocam
Co-administrateur
Co-administrateur
 
Messages: 177
Inscription: Jeu 31 Jan 2008 13:11
Tchup`s - points: 80.00
Localisation: AUSSONNE

Messagede JrM » Mar 28 Avr 2009 12:35

oui ^^ Cm Cours Magistraux ^^

j'ai lu rapidement le code , je comprend la structure ^^ mais je connais aucune de ces methodes ^^ ni les commande ^^
Avatar de l’utilisateur
JrM
Tchup - Junior
Tchup - Junior
 
Messages: 768
Inscription: Dim 10 Aoû 2008 19:00
Tchup`s - points: 90.00
Localisation: Tours


Retourner vers Java

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités