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-