Skip to content

SWING (Bibliotheque)

lcs01 edited this page Jan 28, 2019 · 1 revision

Swing est une bibliothèque graphique pour le langage de programmation Java, faisant partie du package Java Foundation Classes, inclus dans J2SE. Swing constitue l'une des principales évolutions apportées par Java 2 par rapport aux versions antérieures. Wikipédia

Préambule, vous trouverez dans cette partie du wiki des notes priseslors de la lecture du livre en question. url vers le livre: [à ajouter] Chapitre 1 Des test avec swing ( lecture d'un livre)

Hello World

//import javax.swing.JFrame; //import javax.swing.JLabel; import javax.swing.*; // Ici au lieux d'appeler une par une les class on invoque le package entier

public class Hello {

    public static void main (String[] args){

            JFrame frame = new JFrame( "Hello, Java!");
            JLabel label = new JLabel("Hello, Java!", JLabel.CENTER);
            frame.add(label);
            frame.setSize( 300, 300);
            frame.setVisible( true );

    }

}

###Explication sur les classes

Une classe est un moule contenant des partie de votre programme. Dans les divers classes, la main est en faite la classe principale qui executera votre code (ensemble de classe). la classe est composé de methode et variable qui formeront certain composant. Plusieur copie d'une classe peuvent etre éxécuter a l'interieur de votre programme. Chacune de ses incarnation est nomé un instance de classe ou d'objet. L'exemple cité dans le livre est une classe de bouton il n'y en qu'une, et pourtant vous pouvez crée un nombre infinis de bouton dans votre programme. Chacune de ses instance (bouton) peut contenire des argument (parametre), une apparence ou meme des action differente. C'est pour cela qu'une classe peut facilement ce visualiser comme un moule. (voir le chapitre 5 pour plus d'information). Un objet(terme généraliste) n'est ni plus ni moins qu'une instance de classe aussi dans le livre lorsque nous parlerons d'objet, il faut comprendre une instance de classe.

###Hello wordl(ci-dessus) analyse et explication

Le programme est contenu dans une classe unique, Quelques objets sont utilisé afin d'afficher un GUI (graphical user interface). Ajoutons une nouvelle class a notre programme precedement ecrit

1 import javax.swing.; 2 import java.awt.; 3 4 class HelloComponent extends JComponent { 5 6 public void paintComponent(Graphics g) { 7 8 g.drawString("Hello, Java!", 125, 95); 9 10 } 11 }

Cette nouvelle classe va nous permettre d'ajouter des fonctionnalité a notre programme. Il va cependant falloir modifier notre classe principale (main) afin d'inclure cette nouvelle classe:

1 //import javax.swing.JFrame; 2 //import javax.swing.JLabel; 3 import javax.swing.*; 4 5 public class Hello { 6 7 public static void main (String[] args){ 8 9 JFrame frame = new JFrame( "Hello, Java!"); 10 //JLabel label = new JLabel("Hello, Java!", JLabel.CENTER); 11 //frame.add(label); 12 frame.add(new HelloComponent()); 13 frame.setSize( 300, 300); 14 frame.setVisible( true ); 15 16 } 17 }

Ce que l'on peut observer ci dessus est le retrait du JLabel qui permettais l'affichage de notre Hello worl. A la place de celui ci nous avons donc ajouter HelloComponent(). Contrairement a la version precedente si je change la taille de la fenetre le texte ne ce met pas au centre automatiquement.

###Inheritance (Héritage)

Les classes sont rangé de parent-enfants que l'on peut également appeler superclass et subclass. Un seul parent (superclass) sauf exeption avec les Object class qui non pas de superclass. Dans l'exemple précédent HelloComponent est l'enfant (subclass) de la superclass JComponent. La subclass va donc hériter d'un ensemble de composant venant de la superclass (methodes et variable). Elle va donc pouvoir ajouter des variable et methode, mais elle peut également modifier celle ci, ce qui va bien évidement suplanter les classe method de la superclasse. Comme exemple on prend une feuille de calcule scientifique (superClasse). Une subClasse est crée a partir de celle-ci, elle contien des fonctions suplémentaire de calcul. Elle a donc des valeur propre a ses calcul tout en gardant la base de ce qu'est la feuille. Ainsi elle hérite de sont parent sa proprieter de feuille, mais ajoute ses propre fonctionalité, on peut ainsi spécialiser certain objet en ce basant sur des objet générique. Cela s'apelle du polymorphisme. Pages 7

Home
[Agnes cours] Java note diverses (p1)
[Agnes cours]Java note diverses (p2)
[Algo convention]Note diverse
[jug kotlin]Note diverse
[Learning Java] Note diverse chapitre 1
[Théorie]Tableau

Clone this wiki locally

Clone this wiki locally