interface graphique: INTERFACE GRAPHIQUE 1 Un
interface graphique:
INTERFACE GRAPHIQUE 1
Un composant JTextField permet la saisie d’information dans un
champ par l’utilisateur (ici: le nom)
La méthode setText permet d’initialiser un champ ... elle a son
"pendant" getText
A noter: l’usage de la méthode pack
Les deux composants sont affichés ... enfin!
Ceci est l’effet de l’utilisation de la méthode setLayout
Une méthode de la classe FlowLayout du paquetage java.awt
La fenêtre comporte un titre
Usage de la méthode setDefaultCloseOperation
Usage de la méthode setIcon
JLabel
I Permet d’afficher du texte ou une image statique (i.e. pas d’interaction
avec l’utilisateur)
I Usage courant: affichage d’une étiquette devant un champ de saisie
JTextField
I Permet la saisie d’un texte - contenu d’un champ - par l’utilisateur
JTextArea
I Permet la saisie d’un texte de potentiellement plusieurs lignes par
l’utilisateur
I Usage courant: introduction d’un commentaire, un avis, une brève
explication, etc.
JButton
I Permet de déclencher une action
JToggleButton
I Permet de représenter des boutons à deux états
I Usage courant: barre d’outil des éditeurs de texte
JCheckBox et JRadioButton
I Permet la sélection simple ou multiple de choix
JComboBox
I Permet d’afficher une liste déroulante dans laquelle l’utilisateur peut
choisir un article
JFileChooser
I Permet la sélection d’un fichier en utilisant la navigation dans un
répertoire
C.
Il existe des classes d’événements spécifiques pour chaque type
d’interaction de la part de l’utilisateur
Le type événement n’est pas le même suivant le type d’interaction
I Clic sur un bouton
I Clic pour sélectionner un article de liste
I etc.
La classe de base est EventObject dans le paquetage java.util
La méthode setFocusPainted permet de modifier l’apparence du
Bouton
btClic.setCursor(new Cursor(Cursor.HAND_CURSOR));
btClic.setToolTipText("It will change the text above");
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
4 Adding a label with an image
class ClicListener implements ActionListener{
public static final String odd = "odd click";
public static final String even = "even click";
private JTextField cible;
private JLabel label;
private boolean clicked;
public ClicListener(JTextField t, JLabel l){
cible = t;
label = l;
clicked = false;
cible.setText(even);
}
public void actionPerformed(ActionEvent e){
ImageIcon img;
if(clicked == true){
img = new ImageIcon("icon.jpg");
clicked = !clicked;
cible.setText(even);
}
else {
img = new ImageIcon("iconI.jpg");
clicked = !clicked;
cible.setText(odd);
}
label.setIcon(img);
}
}
Utilisation JTabbedPane
public class PanneauGestionUtilisateurs extends JPanel {
JTabbedPane tabbedPane = new JTabbedPane();
PanneauGestionAbonnes panneauAbonnes = new PanneauGestionAbonnes();
PanneauProfils panneauProfils = new PanneauProfils();
PanneauGestionUtilisateurs() {
tabbedPane.addTab(" Gestion des abonnés ", panneauAbonnes);
tabbedPane.addTab(" Gestion des p r o f i l s ", panneauProfils);
initialiserIHM();
}
public void initialiserIHM() {
this.add(tabbedPane);
}
}
GridLayout gl = new GridLayout(1, 3);
PanneauAbonnes abonnesPa = new PanneauAbonnes();
PanneauActions actionsPa = new PanneauActions();
PanneauUtilisateurs utilisateursPa = new PanneauUtilisateurs
();
PanneauGestionAbonnes() {
this.add(abonnesPa);
this.add(actionsPa);
this.add(utilisateursPa);
};
}
public class PanneauGestionProfils extends JPanel {
GridLayout gl = new GridLayout(1, 3);
PanneauGestionProfils() {
this.setLayout(gl);
this.setBackground(Color.green);
this.add(new JLabel("PanneauGestionProfils"));
};
}
Utilisation de JscrolPane :
ScrollPane listScroller = new JScrollPane(listAbonnes);
listScroller.setPreferredSize(new Dimension(150, 80));
lesAbonnes.add(listScroller);
this.add(lesAbonnes);}