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
| import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Fenetre extends JFrame {
// Conteneurs
private JPanel cont1 = new JPanel( ) ;
private JPanel cont1Label = new JPanel( ) ;
private JPanel cont1Bouton = new JPanel ( ) ;
private JPanel cont1BtnOper = new JPanel ( ) ;
private JPanel cont1BtnChiffre = new JPanel ( ) ;
//Layout
private Box layoutBoxHbtn ; // layout pour cont1Bouton
//Nbre de Boutons Chiffre de 0 à 9 inclus
private static int nbreBtn = 10 ;
// Stockage de ces 10 boutons
private JButton[ ] tblBtn = new JButton[ nbreBtn ] ;
// Label pour affichage
private JLabel labelAff = new JLabel ( ) ;
public Fenetre ( ) {
// la fenêtre
this.setTitle( "Calculette Java" ) ;
this.setSize ( 300, 300 ) ;
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ) ;
this.setLocationRelativeTo( rootPane ) ;
this.setLayout( new FlowLayout( FlowLayout.CENTER) ) ;
// détermination
cont1.setPreferredSize( new Dimension ( 250 , 250 ) ) ;
cont1Label.setPreferredSize ( new Dimension ( 200, 50 ) ) ;
cont1BtnChiffre.setPreferredSize( new Dimension ( 150 , 150) );
labelAff.setPreferredSize ( new Dimension ( 180, 50 ) ) ;
// le conteneur principal
cont1.setBackground( Color.orange ) ;
// couleur uniquement pour voir l'espace du conteneur
cont1.setBorder(BorderFactory.createLineBorder(Color.blue));
cont1.setLayout( new BorderLayout ( 50 , 30 ) ) ; // espacement de 30 en Hauteur entre les composants de ce cont
cont1.add(cont1Label, BorderLayout.NORTH ) ;
cont1.add(cont1Bouton, BorderLayout.CENTER ) ;
// Le cont Label
// couleur uniquement pour voir l'espace du conteneur
cont1Label.setBackground( Color.lightGray) ;
cont1Label.setBorder(BorderFactory.createLineBorder(Color.black));
cont1Label.setLayout( new FlowLayout ( FlowLayout.CENTER) ) ;
labelAff.setHorizontalAlignment( JLabel.RIGHT) ;
labelAff.setText( "Bonjour " );
cont1Label.add( labelAff );
// Le cont Bouton
layoutBoxHbtn = Box.createHorizontalBox();
cont1Bouton.add(layoutBoxHbtn); // on y ajoute le BoxLayout
cont1Bouton.setBackground( Color.green ) ;
layoutBoxHbtn.add(cont1BtnChiffre); // Puis chaque conteneur de bouton
layoutBoxHbtn.add(cont1BtnOper);
// le cont pour les boutons chiffres
cont1BtnChiffre.setLayout( new GridLayout ( 4 , 3 , 4 , 4 ) ) ; // lignes, Colonnes, espacesH , espaceV
// couleur uniquement pour voir l'espace du conteneur
cont1BtnChiffre.setBackground( Color.blue ) ;
// ajout des boutons au conteneur
for ( int i = nbreBtn-1 ; i >= 0 ; i -- ) {
tblBtn[ i ] = new JButton ( " " + i ) ;
cont1BtnChiffre.add( tblBtn[i] ) ;
}// de for
this.setContentPane( cont1 ) ;
this.setVisible( true ) ;
}// de constructeur
}// de class Fenetre |
Partager