Bonjour,
Je créé une fenetre avec swing et j'aimerais avoir en premier lieu un affichage selon les borderlayout (North pour le menu, South pour la barre d'information, etc) et j'aimerai qu'au centre (Center) de cet affichage. Je puisse placer des objets comme des boutons, champs, etc avec non pas des borderlayout mais avec des méthodes telles que setbounds(). J'aimerais placer mes boutons comme je le souhaite avec les méthodes setbounds() dans le rectangle rouge !
Voici mes deux fichiers:
// Gère l'affichage
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133 // Importation des librairies nécessaires pour la classe. import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; public class ApplicationFrame extends JFrame { static final long serialVersionUID = 0; BorderLayout borderLayout = new BorderLayout (); private JPanel container = null; int tailleHauteurFenetre = 800; int tailleLargeurFenetre = 600; int tailleHauteurBouton = 20; int tailleLargeurBouton = 80; JMenuBar jMenuBar = new JMenuBar (); JMenu jMenuFichier = new JMenu (); JMenuItem jMenuFichierQuitter = new JMenuItem ();; JMenu jMenuAide = new JMenu (); JMenuItem jMenuAideApropos = new JMenuItem (); JButton bouton = new JButton () ;//Création du bouton // Constructeur pour l'application. public ApplicationFrame () { // Permet de déclencher la gestion des événements graphiques. enableEvents (AWTEvent.WINDOW_EVENT_MASK); // Méthode JbInit. jbInit (); } private JPanel getContainer(){ // JPanel pour contentPane. container = (JPanel) getContainer (); // Disposition dans le JPanel. container.setLayout(null); bouton.setBounds(20, 10 , 50, 50); return container ; } // Méthode JbInit. private void jbInit () { setLayout (borderLayout); add (statusBar, BorderLayout.SOUTH); statusBar.setText ("Acceuil"); // Taille de la fenêtre. setSize (new Dimension (tailleHauteurFenetre, tailleLargeurFenetre)); // Titre de la fenêtre. setTitle ("Acceuil"); Image icone = Toolkit.getDefaultToolkit().getImage("src/img/test.jpg"); setIconImage(icone); jMenuFichier.getPopupMenu().setLightWeightPopupEnabled(false); jMenuAide.getPopupMenu().setLightWeightPopupEnabled(false); jMenuBar.add (jMenuFichier); jMenuBar.add (jMenuAide); setJMenuBar (jMenuBar); jMenuFichier.setText ("Fichier"); jMenuFichierQuitter.setText ("Quitter"); jMenuAide.setText ("Aide"); jMenuAideApropos.setText ("A propos"); jMenuFichier.add (jMenuFichierQuitter); jMenuAide.add (jMenuAideApropos); jMenuBar.setVisible(true); bouton.setPreferredSize(new Dimension(125,25)) ;//On lui donne une taille bouton.setText("Cliquer ici") ;//On lui donne un texte } public void addFichierQuitterActionListener (ActionListener listener) { // On ajoute une action au Listener. jMenuFichierQuitter.addActionListener (listener); } public void addAideAproposActionListener (ActionListener listener) { jMenuAideApropos.addActionListener (listener); } // Cette méthode permet de récetpion des évenements généraux. protected void processWindowEvent (WindowEvent event) { super.processWindowEvent (event); // Permet de fermer la fenetre si on clique sur la croix. if (event.getID () == WindowEvent.WINDOW_CLOSING) { System.exit (0); } } }
// Gère les traitements.
Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 // Importation des librairies nécessaires pour la classe. import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.PopupMenu; import java.awt.Toolkit; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; import java.util.StringTokenizer; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class ApplicationPilote { private ApplicationFrame applicationFrame; public ApplicationPilote () { // Création de l'encadrement principal de l'application. setApplicationFrame (new ApplicationFrame ()); // Dimensions de l'écran. Dimension screenSize = Toolkit.getDefaultToolkit ().getScreenSize (); // Dimensions de l'encadrement. Dimension frameSize = applicationFrame.getSize (); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } // Emplacement de l'encadrement. getApplicationFrame ().setLocation ((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); getApplicationFrame ().addFichierQuitterActionListener (new ActionListener () { public void actionPerformed (ActionEvent event) { jMenuFichierQuitter_actionPerformed (event); } }); // Activation de l'encadrement. getApplicationFrame ().setVisible (true); // ne pas redimensionné la fenetre getApplicationFrame ().setResizable(false); } // Méthode qui permet de retourner ApplicationFrame. public ApplicationFrame getApplicationFrame () { return applicationFrame; } public void setApplicationFrame (ApplicationFrame pApplicationFrame) { applicationFrame = pApplicationFrame; } // Quitter. public void jMenuFichierQuitter_actionPerformed (ActionEvent event) { System.exit (0); } // Point d'entrée du programme. public static void main (String args []) { try { // Affecte le "look" de l'application d'après le système d'exploitation. UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName ()); } catch (InstantiationException exception) { exception.printStackTrace (); } catch (UnsupportedLookAndFeelException exception) { exception.printStackTrace (); } catch (ClassNotFoundException exception) { exception.printStackTrace (); } catch (IllegalAccessException exception) { exception.printStackTrace (); } new ApplicationPilote (); } }
Partager