♫ Dance the java with me ♫


Introduction

Je me lance sur ce petit article pour faciliter la tâche aux jeunes loups comme moi qui souhaiteraient maîtriser la création d’interface graphique avec Java ou tout simplement à tout ceux qui souhaitent débuter dans l’interfaçage graphique en Java. Pour cela, il est nécessaire de faire appel à la bibliothèque Swing. Petit rappel : Swing est une API graphique (ou bibliothèque graphique au choix) propre à JAVA.

Learn Java ? Easy as ABC ! (Apprendre Java ? Simple comme bonjour !)

Bon, ici je ne vous ferais pas de cours sur JAVA.

Si :

  1. Vous êtes français.
  2. Vous êtes débutant.

Je vous recommande vivement de lire le cours de cysboy, ou d’acheter le livre ou bien de télécharger le livre pour le mettre sur votre liseuse.

Indiana Jones et le cours de Java perdu

Autrement, je vous conseille vivement de vous partir à l’aventure et trouver sur Google ou Bing ce qui vous convient. Vous vous apercevrez que des cours il y en a à foison.

Vous êtes encore vieux jeu et vous préférez les livres ?

Pour cela je vous recommande d’acheter, de voler, ou d’emprunter « Programmer en Java » (dernière édition) écrit par Claude Delannoy et édité par Eyrolles dans leur collection Best-Of. Certes, c’est un pavé (citez moi un bon livre d’info qui n’est pas un pavé ? :roll:  ) mais son prix vaut largement le coup non ?

Ce livre comprend tout ce qu’on doit savoir en Java et traite aussi Swing et ses fonctionnalités.

Cela dit si vous êtes orienté jeu vidéo je vous conseille de vous procurer « Devenez un petit génie des jeux vidéo » édité par Pearson dans leur collection « Le Programmeur » écrit par Ian Cinnamon. Vous pouvez l’avoir allons disons à tout casser 20 € !

Création de ma fenêtre en Java

Vous aurez vivement besoin d’un IDE pour créer votre programme. Le plus connu pour le java est Eclipse. Je ne me pencherais pas sur le choix de l’IDE, mais je vous conseille de prendre Eclipse pour deux raisons :

  1. La grosse majorité des développeurs utilisent Eclipse.
  2. J’utilise Eclipse et les explications qui vont suivre sont surtout propre à Eclipse.:mrgreen:

Tout d’abord, vous suivez ce tutoriel où tout est bien expliqué (avec de zolies zimages d’ailleurs) afin de créer votre projet et votre classe. Ne copiez pas le code proposé, il est sympa, il marche, vous le verrez partout dans les cours sur Swing, moi je vous propose une autre méthode ici. Et notons aussi que votre package n’a pas à s’appeler obligatoirement « Ihm ».😉


package Ihm;
//on importe tout le contenu de la bibliothèque swing
import javax.swing.*;
//je suis obligé de faire appel à AWT car j'en ai besoin pour gérer les 'layouts manager'(gestionnaires de placement)
import java.awt.*;
import java.awt.event.*;

//la classe hérite de JFrame (extends)
class mainwindow extends JFrame
//On construit maintenant la fenêtre
{
	//On met ici des variables de type private par exemple
	//constructeur
	public mainwindow()
{			//titre de la fenêtre
			setTitle("Window title");
			//taille de la fenêtre
			setSize(800,600);
			setResizable(true);
			//affiche la fenêtre au centre de l'écran
			setLocationRelativeTo(null);
			// ferme la fenêtre
			//si on ne met pas ça en réalité la fenêtre n'est pas fermée elle a juste "disparue"
			setDefaultCloseOperation(EXIT_ON_CLOSE);

}
}
//classe principale 'window'
public class window {

	/**
	 * @param args
	 */
	//classe principale dite classe main (static void)
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame window = new mainwindow();
		window.setVisible(true);

	}

}

Deux-trois p’tites remarques à propos du code. Nous avons créé là deux classes : La classe principale

public class window {
public static void main (String[] args)
...
}

La « classe secondaire » qui contient un constructeur)

class mainwindow extends JFrame {
...
public mainwindow()
{
...
}

L’intérêt de faire appel à une classe « secondaire »  ? Cela permet de garder notre classe principale où se trouvera la classe main « intacte » et de créer à coté des classes diverses qui permettront par la suite d’instancier plein d’objets. Bon, je sais, c’est peut être pas la meilleure méthode…D’autre part, je me dois de vous préciser qu’en écrivant import.javax.swing.* vous importez toute la bibliothèque swing (c’est l’étoile qui indique que vous importez tout😛 ).

Il reste à savoir s’il ne serait pas plus sage d’appeler uniquement ceux dont on a besoin ? (Par exemple, nous utilisons l’objet JFrame qui appartient à l’API Swing, nous aurions pu écrire import.javax.swing.JFrame). Personnellement, moi je choisis la méthode dite « facile », on importe tout !:mrgreen: Après évidemment si vous n’avez besoin que de JFrame, c’est comme quand il y a 15 personnes on ne va pas se fouler à appeler tout le monde si on a besoin uniquement de Mr Dupont, prenez la deuxième méthode !

En bref : Dans ce code source, vous noterez la création de deux classes dont une qui contient une classe main où on instancie un objet de type mainwindow qui sera en fait notre fenêtre (polymorphisme) en utilisant le constructeur de la seconde classe .

Le bonus

Exceptionnellement, il n’y en aura pas, mais cela étant dit, je vous offre en compensation une fuite d’information : Bientôt sur le lab de nerdycode, une fenêtre en java sous forme d’application🙂

2 réflexions sur “♫ Dance the java with me ♫

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s