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 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
| import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
class MaFenetre extends JFrame
{
public JPanel pan1, pan2, pan3, pan4;
public JButton pan1_but1, pan1_but2, pan1_but3, pan1_but4;
public JTable jtable;
public JLabel pan3_lab1, pan3_lab2, pan3_lab3, pan3_lab4, pan3_lab5, pan3_lab6, pan3_lab7;
public JLabel pan3_bidon1, pan3_bidon2, pan3_bidon3;
public JLabel pan3_bidon4, pan3_bidon5;
public JTextField pan3_txt1, pan3_txt2, pan3_txt3, pan3_txt4;
public JTextField pan3_txt5, pan3_txt6, pan3_txt7;
public JCheckBox pan3_ch1, pan3_ch2;
public JButton pan4_but1, pan4_but2, pan4_but3, pan4_but4;
public MaFenetre()
{
// Mise en place des 4 premiers grands PANELS : etape A)
setTitle("Exemple n°2");
setSize(1000,700);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container contenu = getContentPane();
GridBagLayout gA = new GridBagLayout();
contenu.setLayout(gA);
GridBagConstraints c = new GridBagConstraints(); c.fill = c.BOTH ;
pan1=new JPanel(); //pan1.setBackground(Color.blue);
pan1.setBorder(new TitledBorder("Contrôles"));
// Dimension dim = new Dimension(120,700); pan1.setMaximumSize(dim);
pan2=new JPanel(); //pan2.setBackground(Color.yellow);
pan2.setBorder(new TitledBorder("Tableau des données"));
pan3=new JPanel(); //pan3.setBackground(Color.green);
pan3.setBorder(new TitledBorder("Données de l'externe"));
pan4=new JPanel(); //pan4.setBackground(Color.red);
// pan4.setBorder(new TitledBorder("Navigation"));
// position des quatre panels
int A_x[] = { 0, 1, 1, 1};
int A_y[] = { 0, 0, 1, 2};
int A_larg[]= { 1, 1, 1, 1};
int A_haut[]= { 3, 1, 1, 1};
int A_px[] = { 12,88, 0, 0};
int A_py[] = {100,46, 0, 0}; // bizarre:{0,46,0,0} a un comportement meilleur que {0,46,46,8} = total 100 %
for (int i=0; i < A_x.length; i++)
{
c.gridx = A_x[i]; c.gridy = A_y[i];
c.gridwidth = A_larg[i]; c.gridheight = A_haut[i];
c.weightx = A_px[i]; c.weighty = A_py[i];
if (i==0) contenu.add( pan1, c );
if (i==1) contenu.add( pan2, c );
if (i==2) contenu.add( pan3, c );
if (i==3) contenu.add( pan4, c );
}
// étape B) élaboration du pan1
Box gB = Box.createVerticalBox();
pan1.add(gB);
pan1_but1 = new JButton("Liste des clients");
gB.add(pan1_but1); pan1_but1.setMaximumSize(new Dimension(205,40));
gB.add(Box.createVerticalStrut(20));
pan1_but2 = new JButton("Liste des fournisseurs");
gB.add(pan1_but2); pan1_but2.setMaximumSize(new Dimension(205,40));
gB.add(Box.createVerticalStrut(20));
// gB.add(Box.createGlue()); // marche pas ??
pan1_but3 = new JButton("Nouvel externe");
gB.add(pan1_but3); pan1_but3.setMaximumSize(new Dimension(205,40));
gB.add(Box.createVerticalStrut(20));
pan1_but4 = new JButton("Modifier externe");
gB.add(pan1_but4); pan1_but4.setMaximumSize(new Dimension(205,40));
// étape C) élaboration du pan2
pan2.setLayout(new BorderLayout());
jtable=new JTable(60,6);
JScrollPane defil=new JScrollPane(jtable);
pan2.add(defil,BorderLayout.CENTER);
// étape D) élaboration du pan3:
// JLabel------------- JTextField--------- Ch-- JLabBidon----
int B_x[] = { 1, 4, 7, 1, 1, 5, 6, 2, 6, 8, 2, 2, 7, 7, 1, 3, 0, 4, 3, 5, 9};
int B_y[] = { 1, 1, 1, 3, 5, 5, 7, 1, 1, 1, 3, 5, 5, 7, 7, 7, 0, 2, 4, 6, 8};
int B_larg[]= { 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 7, 3, 2, 2, 2, 3, 1, 1, 1, 1, 1};
int B_haut[]= { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
int B_px[] = {11,22,11,11,11,22,11, 22,11,11,77,33,22,22, 22,33, 6,11,11,11, 6};
int B_py[] = {11,11,11,11,11,11,11, 11,11,11,11,11,11,11, 11,11, 11,11,11,11,12};
GridBagLayout gD = new GridBagLayout(); pan3.setLayout(gD); c.fill = c.BOTH ;
pan3_lab1 = new JLabel("Nom") ; pan3_lab2 = new JLabel("Prénom");
pan3_lab3 = new JLabel("Age") ; pan3_lab4 = new JLabel("Adresse");
pan3_lab5 = new JLabel("Ville"); pan3_lab6 = new JLabel("Code Postal");
pan3_lab7 = new JLabel("Tél");
for (int i=0; i <= 6; i++)
{
c.gridx = B_x[i]; c.gridy = B_y[i];
c.gridwidth = B_larg[i]; c.gridheight = B_haut[i];
c.weightx = B_px[i]; c.weighty = B_py[i];
if (i==0) pan3.add( pan3_lab1, c );
if (i==1) pan3.add( pan3_lab2, c );
if (i==2) pan3.add( pan3_lab3, c );
if (i==3) pan3.add( pan3_lab4, c );
if (i==4) pan3.add( pan3_lab5, c );
if (i==5) pan3.add( pan3_lab6, c );
if (i==6) pan3.add( pan3_lab7, c );
}
pan3_txt1=new JTextField("vide 1"); pan3_txt2=new JTextField("vide 2");
pan3_txt3=new JTextField("vide 3"); pan3_txt4=new JTextField("vide 4");
pan3_txt5=new JTextField("vide 5"); pan3_txt6=new JTextField("vide 6");
pan3_txt7=new JTextField("vide 7");
for (int i=7; i <=13; i++)
{
c.gridx = B_x[i]; c.gridy = B_y[i];
c.gridwidth = B_larg[i]; c.gridheight = B_haut[i];
c.weightx = B_px[i]; c.weighty = B_py[i];
if (i== 7) pan3.add( pan3_txt1, c );
if (i== 8) pan3.add( pan3_txt2, c );
if (i== 9) pan3.add( pan3_txt3, c );
if (i==10) pan3.add( pan3_txt4, c );
if (i==11) pan3.add( pan3_txt5, c );
if (i==12) pan3.add( pan3_txt6, c );
if (i==13) pan3.add( pan3_txt7, c );
}
pan3_ch1=new JCheckBox("Client"); pan3_ch2=new JCheckBox("Fournisseur");
for (int i=14; i <=15; i++)
{
c.gridx = B_x[i]; c.gridy = B_y[i];
c.gridwidth = B_larg[i]; c.gridheight = B_haut[i];
c.weightx = B_px[i]; c.weighty = B_py[i];
if (i==14) pan3.add( pan3_ch1, c );
if (i==15) pan3.add( pan3_ch2, c );
}
pan3_bidon1 = new JLabel(" "); pan3_bidon2 = new JLabel(" ");
pan3_bidon3 = new JLabel(" "); pan3_bidon4 = new JLabel(" ");
pan3_bidon5 = new JLabel(" ");
for (int i=16; i <=20; i++)
{
c.gridx = B_x[i]; c.gridy = B_y[i];
c.gridwidth = B_larg[i]; c.gridheight = B_haut[i];
c.weightx = B_px[i]; c.weighty = B_py[i];
if (i==16) pan3.add( pan3_bidon1, c );
if (i==17) pan3.add( pan3_bidon2, c );
if (i==18) pan3.add( pan3_bidon3, c );
if (i==19) pan3.add( pan3_bidon4, c );
if (i==20) pan3.add( pan3_bidon5, c );
}
// étape E) élaboration du pan4:
FlowLayout pan4_fl = new FlowLayout(FlowLayout.CENTER);
pan4_fl.setHgap(50);
pan4.setLayout(pan4_fl);
pan4_but1=new JButton("Précédent"); pan4_but2=new JButton("Suivant");
pan4_but3=new JButton("Valider"); pan4_but4=new JButton("Annuler");
pan4.add(pan4_but1); pan4.add(pan4_but2);
pan4.add(pan4_but3); pan4.add(pan4_but4);
}
}
public class GUI_complique_02
{
public static void main (String args[])
{
MaFenetre fen = new MaFenetre();
fen.setVisible(true);
}
} |
Partager