COPYRIGHT 2001 LES ÉDITIONS REYNALD GOULET INC. TOUTE REPRODUCTION INTERDITE.
RÉP.: Le point virgule manque après l’astérisque.
b) ObjetDePanneau.GridLayout( 8, 8 ); // définir un GridLayout.
RÉP.: Le constructeur de GridLayout ne peut servir de cette manière. L’instruction correcte serait plutôt:
panelObject.getContentPane().setLayout( new GridLayout( 8, 8 ) );
c) c.setLayout( new FlowLayout( FlowLayout.DEFAULT ) );
RÉP.: La classe FlowLayout ne contient aucune constante static nommée DEFAULT.
d) c.add( eastButton, EAST ); // BorderLayout
RÉP.: L’argument EAST devrait être BorderLayout.EAST.
12.8 Créez l’interface utilisateur graphique suivante. Aucune fonctionnalité n’est nécessaire.
RÉP.:
Note: cet exercice vous est proposé soit comme application (comme dans l’énoncé de l’exercice du livre), soit comme
applet, comme ici. Le cédérom d’accompagnement propose les deux versions. La version application est dans le fichier
AppAlignement.java.
1// Solution de l’exercice 12.8.
2// Alignement.java
3// Ce programme crée un GUI simple.
4import javax.swing.*;
5import java.awt.*;
6
7public class Alignement extends JApplet {
8 private JButton ok, annuler, aide;
9 private JTextField valeurX, valeurY;
10 private JCheckBox magnetisme, montrer;
11 private JLabel etiquetteX, etiquetteY;
12 private JPanel voletCoches, voletBoutons,
13 voletChamp1, voletChamp2,
14 voletChamp;
15
16 public void init()
17 {
18 // Construire le voletCoches.
19 magnetisme = new JCheckBox( "Magnétisme" );
20 montrer = new JCheckBox( "Montrer grille" );
21 voletCoches = new JPanel();
22 voletCoches.setLayout( new GridLayout( 2 , 1 ) );
23 voletCoches.add( magnetisme );
24 voletCoches.add( montrer );
25
26 // Construire le volet champs 1.
27 etiquetteX = new JLabel( "X: " );
28 valeurX = new JTextField( "8", 3 );
29 voletChamp1 = new JPanel();
30 voletChamp1.setLayout( new FlowLayout( FlowLayout.CENTER, 3, 5 ) );
31 voletChamp1.add( etiquetteX );
32 voletChamp1.add( valeurX );
33
34 etiquetteY = new JLabel( "Y: " );
35 valeurY = new JTextField( "8", 3 );
36 voletChamp2 = new JPanel();
37 voletChamp2.setLayout( new FlowLayout( FlowLayout.CENTER, 3, 5 ) );
38 voletChamp2.add( etiquetteY );
39 voletChamp2.add( valeurY );
40
41 voletChamp = new JPanel();
42 voletChamp.setLayout( new BorderLayout() );