TP interfaces graphiques - Java.

publicité
TP de Java
SRC2
programmation Java
TP interfaces graphiques - Java.
Ce TP n'est qu'une très courte introduction aux interfaces graphiques, en utilisant l'API java
Swing.
L'objectif
serait de développer une interface graphique pour votre projet (c'est-à-dire une fenêtre graphique où l'utilisateur peut
demander la création d'un nouveau vaisseau, ou bien d'une nouvelle personne, les nommer, etc... Cela serait beaucoup
plus convivial que votre actuelle classe
Univers !).
En deux mots pour introduire Swing (on peut aussi utiliser AWT pour faire des interfaces graphiques) :
Jframe, dont va hériter notre fenêtre principale :
public class MonInterface extends JFrame{.... Une JFrame a des attributs permettant de la dénir (sa
taille, etc...), des méthodes à aller voir dans la documentation (en particulier add() qui permet de lui rajouter
des composants). Elle n'est pas visible par défaut d'où l'intérêt de la ligne maFenetre.setVisible(true).
JFrame : la fenêtre principale est souvent une
Composants : dans cette fenêtre, on peut rajouter diérents composants : chacun de ces composants est géré
par une classe (commençant par la lettre J dans le cas de Swing).
Des boutons (JButton)
Des zones de texte (JTextField). C'est là où l'utilisateur rentrera le nom du vaisseau par exemple...
Des labels (JLabel). On y rentre un texte qui n'est pas modiable par l'utilisateur (comme légende par
exemple).
Des comboboxes (JComboBox). Ce sont des listes déroulantes.
Des checkboxes (JCheckBox). Ce sont des cases à cocher.
Des boutons radios (JOptionPane). Ce sont des fenêtres de dialogue (conrmation, avertissement...).
Des barres de menu (JMenuBar).
Des panneaux pour regrouper plusieurs composants liés entre eux (JPanel).
etc...
LayoutManager : le placement des composants peut être donné en absolu (coordonnées du pixel en haut à
gauche...), mais on utilise plutôt un
thode
setLayout
d'un
JPanel
LayoutManager pour gérer
JFrame par exemple, qui
ou d'un
le placement des composants (utiliser la mépeuvent contenir d'autres composants). Selon
le LayoutManager que vous allez choisir (GridLayout, BorderLayout, GridBagLayout, BoxLayout, FlowLayout
(manager par défaut)), vos composants seront ordonnés diéremment les uns par rapport aux autres.
Evénements : La plupart de ces composants savent réagir à des événements (ou en créer), comme un click de
souris, un changement de focus, etc... Un composant qui reçoit un événement est appelé un auditeur (listener).
Voir
http://prevert.upmf-grenoble.fr/Prog/Java/swing/evenements.html.
Exercice 1 - Premières interfaces à l'aide d'un tutoriel
import javax.swing.*.
http://zetcode.com/tutorials/javaswingtutorial/firstprograms/
N'oubliez pas d'importer les composants de Swing dont vous aurez besoin !
1. Copiez le premier exemple du tutoriel
(après avoir créé un nouveau projet java, bien sûr), en comprenant bien le rôle de chaque phrase. Testez.
Buttons. Testez. Il y a une ligne close.setBounds(50, 60, 80,
30);. Dans la documentation de quelle classe doit-on chercher pour savoir ce que fait exactement cette méthode
setBound() ?
2. Copiez maintenant l'exemple de la section
3. Après avoir agrandi légèrement la fenêtre principale, placez (en copiant le code d'un des deux autres boutons et
en l'adaptant...) un troisième bouton à droite des deux premiers (très légèrement plus petit) qui écrira bonjour
à l'écran quand on clique dessus.
setBounds() et parce que les LayoutManager ont
panel.setLayout(null);. Retirez cette ligne (du coup, le placement des boutons
4. Ici, les composants sont placés en absolu grâce à la méthode
été désactivés grâce à la ligne
est géré par le LayoutManager FlowLayout, qui place tout sur une même ligne tant qu'il y a de la place, à la
ligne sinon). Du coup, les méthodes
setBounds()
ne sont plus autorisées... Essayez d'adapter le code pour qu'il
fonctionne de nouveau (on vous aidant de la documentation !).
SRC2
TP de Java
programmation Java
Exercice 2 - Première interface personnelle !
Faites un formulaire avec un bouton, une checkbox (choix du sexe), une combobox (choix de la ville parmi 4
possibles), un texteld (votre nom), et un label, dans lequel il n'y a d'abord rien écrit, et où apparaît la phrase
"bonjour monsieur truc, de Tarascon" si vous vous appelez truc, que votre ville est Tarascon, et que vous êtes un
homme. Vous pouvez prendre le layout de votre choix ; testez en plusieurs.
Exercice 3 - Première calculatrice
Je vous laisse suivre le tutoriel
http://java.developpez.com/livres/javaEnfants/?page=calculatrice
piez le code de la partie VII-C. Faites varier ensuite les LayoutManager en suivant le tutoriel.
: co-
Téléchargement