Exercices
Une disposition simple
Un formulaire question-réponse simple:
Réaliser en AWT un formulaire comprenant un champ de saisie (TextField
utiliser plutôt un constructeur du type new TextField(40)
), un bouton (Button
) et une plage de texte pour afficher la réponse à la question (utiliser
un TextArea
par exemple par new TextArea(10,60)
).
Aspect possible:
-l’objectif sera plus tard d’afficher une réponse à une question (soit quand on a appuyé sur le bouton , soit quand on a tapé un <retour chariot> dans le champs de saisie)-.
Pour tester votre disposition créer un code (main
ou JShell) avec un objet Frame
,
mettre le formulaire et faire des essais de redimensionnement de la fenêtre).
Attention: à ce stade vous ne pourrez pas "arréter" proprement le test (vous êtes obligés de "tuer" le processus). (Sous votre IDE il doit y avoir un bouton ou une croix rouge qui accompagne la console)
Une proposition de solution
ICI
le main
de test est ici inclus dans le code (il faudrait le mettre dans une classe distincte où faire directement un test avec JShell).
Exemples
Une disposition simple
package org.labs.ihm;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
public class Ecran1 extends Panel {
private TextArea affichage = new TextArea(10,60);
private Label invite = new Label("Question : ");
private TextField saisie = new TextField(40);
private Button bouton = new Button("OK");
public Ecran1() {
this.setLayout(new BorderLayout(3,3 ));
Panel pInvite = new Panel(new BorderLayout());
// BLOC (pour mieux séparer les zones du code!)
{// gestion du Panel des invites
pInvite.add(invite,BorderLayout.WEST);
pInvite.add(saisie,BorderLayout.CENTER);
// pourrait être dans un Panel intermédiaire
pInvite.add(bouton, BorderLayout.SOUTH);
}
this.add(pInvite, BorderLayout.NORTH);
this.add(affichage, BorderLayout.CENTER);
}
public static void main(String[] args) {
Frame fen = new Frame("disposition");
fen.add(new Ecran1());
fen.pack() ;
fen.setVisible(true);
}
}