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 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
| import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
import javax.swing.AbstractAction;
import javax.swing.JOptionPane;
public class MENU extends JFrame implements ActionListener{
private JButton bouton;
private JButton bouton2;
private JButton bouton3;
public MENU(){
super();
build();//On initialise notre fenêtre
}
private void build(){
setTitle("Bienvenue"); //On donne un titre à l'application
setSize(830,650); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(true); //On permet le redimensionnement
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
setContentPane(buildContentPane());
}
private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
JLabel label = new JLabel ("Une petite application pas terminé");
bouton = new JButton("bouton 1");
bouton.addActionListener(this);
bouton2 = new JButton("bouton2");
bouton2.addActionListener(this);
bouton3 = new JButton (new ImageIcon(getClass().getClassLoader().getResource("image/quitter.jpg")));
bouton3.addActionListener(this);
//Définissons nos contraintes pour les composants
GridBagConstraints MesBoutons = new GridBagConstraints();
/* le composant suivant à placer est notre étiquette.
Plaçont l'étiquette "Veuillez saisir le texte à traduire.*/
MesBoutons.gridx = 1;
MesBoutons.gridy = 2;
/* une seule cellule sera disponible pour ce composant. */
MesBoutons.gridwidth = 2;
MesBoutons.gridheight = 1;
MesBoutons.weightx = 1.;
MesBoutons.anchor = GridBagConstraints.ABOVE_BASELINE; // pas LINE_START ni WEST !!
/* Une petite marge autour du composant. Attention à toujours les mêmes marges à gauche, sinon les
* composants ne sont plus alignés. */
MesBoutons.insets = new Insets(100, 0, 400, 0);
panel.add(label, MesBoutons);
/* Nous pouvons passé aux boutons. */
MesBoutons.gridy = 4; /* nouvelle ligne */
MesBoutons.gridx = 0; /* première colonne, nous allons placé notre bouton "Menu principal" */
/*le bouton est plus large que l'étiquette située au dessus de lui et
* que le champ de saisie commence avant le bord gauche du bouton. Nous précisons donc deux cellules
* horizontalement.
*/
MesBoutons.gridwidth = 2;
MesBoutons.gridheight = 1; /* une seule cellule verticalement suffit */
/* Nous alons aligné les boutons sur leur ligne d'écriture également.*/
MesBoutons.anchor = GridBagConstraints.BASELINE_LEADING;
/* Aucun redimentionnement possible. Le bouton garde toujours soit sa taille minimum soit préférée. */
MesBoutons.fill = GridBagConstraints.NONE;
/* les attributs weightx, weighty sont tout deux a 0.*/
/* Une petite marge autour du composant.*/
MesBoutons.insets = new Insets(10, 15, 10, 10);
panel.add(bouton2, MesBoutons);
/* bouton suivant "Coder" */
/* le bouton précédent peut s'étendre sur deux cellules horizontalement. Celui-ci commence en 2. */
MesBoutons.gridx = 2; /* pour les dubitatifs, gridy vaut toujours 3 ;-) */
MesBoutons.gridwidth = GridBagConstraints.RELATIVE; // le bouton est l'avant dernier composant de sa ligne.
/* nous allons, sur ce bouton, définir un poids pour que celui-ci s'éloigne le plus du bouton précédent.*/
MesBoutons.weightx = 1.;
MesBoutons.anchor = GridBagConstraints.BASELINE; // Pas LINE_END, ni EAST.
MesBoutons.insets = new Insets(0,0, 0, 0);
panel.add(bouton, MesBoutons);
/* notre dernier bouton. */
MesBoutons.gridx = 3;
MesBoutons.weightx = 0.; /* remettons le poids à zéro. */
MesBoutons.insets = new Insets(10, 15, 100, 20);
panel.add(bouton3, MesBoutons);
return panel;
}
public static void main(String[] args) {
//On crée une nouvelle instance de notre FenetreBoutons
MENU fenetre = new MENU();
fenetre.setVisible(true);//On la rend visible
}
public void actionPerformed(ActionEvent ed) {
Object source = ed.getSource();
if(source == bouton){
final JFrame fenêtre1 = new fenêtre1();
fenêtre1.setVisible(true);//On la rend visible
MENU.this.setVisible(false);
} else if(source == bouton2){
final JFrame fenêtre2 = new fenêtre2();
fenêtre2.setVisible(true);//On la rend visible
MENU.this.setVisible(false);
} else if (source==bouton3){
JFrame FenetreQuitter = new FenetreQuitter();
FenetreQuitter.setVisible(true);//On la rend visible
MENU.this.setVisible(false);
try {
Thread.sleep(5000);
}
catch(InterruptedException e){
e.printStackTrace();
}
System.exit(0);
}
}
} |
Partager