Sunteți pe pagina 1din 6

Cadi Ayyad Université Orienté Object 

Ecole Supérieure De Technologie SAFI Module Java & C++


Filière : Génie Informatique Année Universitaire 2017/2018

[TP JAVA : Les Interfaces Graphiques en Java (GUI)]


Objectifs : Implémentation des interfaces graphiques en java.

JAVA GUI (OVERVIEW)

Le langage Java propose différentes bibliothèques pour programmer des interfaces graphiques, mais dans
cet exposé nous utiliserons essentiellement les packages « javax.swing » et « java.awt », présents d'office
dans Java.

Généralement, une interface graphique est un dispositif de dialogue homme-machine, dans lequel les
objets à manipuler sont dessinés sous forme de pictogrammes à l'écran, de sorte que l'usager peut
utiliser en imitant la manipulation physique de ces objets avec un dispositif de pointage, le plus souvent
une souris.

Swing est une bibliothèque graphique pour le langage de programmation Java, faisant partie du package
Java Fondation Classes (JFC), inclus dans la Platform de java, permet de créer des interfaces graphiques
identiques quel que soit le système d'exploitation sous-jacent, au prix de performances moindres qu'en
utilisant Abstract Windows Toolkit (AWT).
AWT aussi une bibliothèque graphique pour Java, faisant partie de Java Fondation Classes (JFC). Cette
bibliothèque a été introduite dès les premières versions de Java.
Notre
première
Interface :

Les buttons :

Il existe plusieurs boutons définis par Swing (simple,check-box,radio-buttons,toogle-buttons,buttons-group…)


 JButton est un composant qui représente un bouton : il peut contenir un texte et/ou une icône
 Tous les boutons peuvent afficher du texte et/ou une image.
 Un bouton peut recevoir des événements de type Action Events ,Change Events, et Item Évents.
Les composants de saisie de texte

Swing possède plusieurs composants pour permettre la saisie de texte (TextFied , textArea,textPane…)
 La classe abstraite JTextComponent est la classe mère de tous les composants permettant la saisie de texte.
 JTextField est un composant qui permet la saisie d'une seule ligne de texte simple(Formule, mot passe …)
 JTextArea est un composant qui permet la saisie de texte simple en mode multi ligne .
Les tableaux :

 On peut créer des tableaux simple avec la calsse Jtable et les ajouter ou modifie ou droper …
 Les tableaux avec deux dimension facilite la gestion dans les grand application…

Les étiquettes :
 Le composant JLabel propose les mêmes fonctionnalités que les intitulés AWT mais ils peuvent en plus
contenir des icônes .
 Le composant JLabel permet d'afficher un texte et/ou une icône en précisant leur alignement
 Possibilité d’animation format (GIF)

Les panneaux :
 La classe JPanel est un conteneur utilisé pour regrouper et organiser des composants grâce à un
gestionnaire de présentation (layout manager).
 Le gestionnaire par défaut d'un JPanel est un objet de la classe FlowLayout

N.B: Il y a plusieurs classes dans java swing (JSlider,JProgressBar,Layout,Events,JMenu,List…) on a pas le


temps pour discuter a tous ca , mais on aurait vu pendant la dispositif .
EXERCICE 1 :
- Ouvrir votre compilateur java et écrire nouveau projet  java SE.
- faire une importation de la JFrame (import Javax.swing.JFrame ;) qui permet de construire un
nouveau frame dans la classe Main .
- Définir un titre avec la méthode prédéfinit SetTitle ( hello world !! ) ;
- Créer un Panel par la classe JPanel (import Javax.swing.JPanel ;)
- Affecter sa couleur rouge par la methode ( setbackground ).
- Créer dans le panel des lebels par JLabel (import Javax.swing.JLabel ;)
- Mettre votre information suivant dans chaque Label : Le nom et email et le numéro de téléphone
, par la méthode setText(type_string) ;.
- Positionner les labels par la méthode setBounds().
- Ajouter les lebels dans le panel par L ADD
- Exécuter votre programme. 
- Pour aller plus loin :
- -> Application sur les buttons .
- ->Application sur les textes feildes .
EXERCICE 2 :
- Ecrire dans une interface 5 buttons (sans utiliser jpanel).
- Qu’est-ce que vous avez marquez ?

Remarque : Pour gérer la position des éléments sur la fenêtre, on a besoin d’un positionneur des
composants ou ‘Layout Manager’, comme (Border Layout – Grid Layout – Flow Layout …)
- Essayer de partitionner votre frame à 5 buttons avec Border Layout.
- L’ exécution :  

EXERCICE 3 :
- Créer une interface graphique qui contient 4 buttons qui portent les différentes filières de l’EST
de SAFI.
- En cliquant a un bouton quelconque, un dialogue de message doit être afficher portant le nom
de chaque filière.
- Assurer que vous avez cette fenêtre :

- On doit implémenter ici « les actions » et JOptionPane pour ouvrir la boite de dialogue.

- Met la taille de la fenêtre à 500*400 px.


- Compiler !
- Refaire les buttons par l’implémentation d’un logo de chaque filière a le bouton.
- Met le couleur de l’arriéré plan est orange.
- Refaire tous ca hors de Main, par un constructeur et par implémentation de la classe
ActionListner.  
- L’exécution finale :
EXERCICE 4 :
- Ecrire un nouveau frame.
- Ajouter un nouveau label et nommée «date de naissance : ».
- En suite créer un champ de remplissage avec JTextfeild. (import Javax.swing.JTextField ;)
- Construire un bouton et Nommée (Age ) pour appliquer l’action de soustraire l’année actuelle de
l’année de naissance.
- Créer un autre champ pour récupérer le résultat.
- Compiler votre programme  
- Pourquoi les champs est n’est pas afficher correctement ?
- A l’aide de la méthode getContentPane().setLayout dans le frame , et getContentPane() dans les
autres(champs,buttons…) essayer de afficher le programme correctement.
- Assurer que vous avez ça en fin  .
EXERCICE 5 :
- Ecrire une nouvelle interface pour faire la somme entre deux nombres et afficher le résultat dans
un autre champ.
- Essayer de faire un background derrière votre programme, et que nous n’avons pas agrandir
l’interface.  

EXERCICE 6 :

- Imaginer de faire une application qui faire la résolution des équations de deuxième dégrées
utilisant deux labels et 4 champs de texte et une seul buttons comme ca 

EXERCICE 7* :
- Faire un programme de calculatrice de votre choix.
- Essayer de builder votre application en bureau.
- Exécuter votre Desktop-application. 

S-ar putea să vă placă și