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
| public static void main(String[] args)
{
final App frame = new App();
...
// Fenetre principale
frame.setTitle("LAC 981");
Image icone = Toolkit.getDefaultToolkit().getImage("images/lac.png");
frame.setIconImage(icone);
// full screen
frame.setSize(800, 600); //si la fenêtre est rétrécis elle prendra cette résolution en première valeur
JFrame.setDefaultLookAndFeelDecorated(false);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
// barre des menus
....
//mise en place des éléments
GridBagLayout layout = new GridBagLayout();
frame.setLayout(layout);
final JPanel gauche = new JPanel();
gauche.setBorder(BorderFactory.createLineBorder(Color.red));
gauche.setMaximumSize(new Dimension(frame.getToolkit().getScreenSize().width/3,frame.getToolkit().getScreenSize().height));
gauche.setMinimumSize(new Dimension(frame.getToolkit().getScreenSize().width/3,frame.getToolkit().getScreenSize().height));
gauche.setPreferredSize(new Dimension(frame.getToolkit().getScreenSize().width/3,frame.getToolkit().getScreenSize().height));
gauche.add(new JLabel("Gauche"));
final JPanel haut = new JPanel();
haut.setBorder(BorderFactory.createLineBorder(Color.green));
haut.setMaximumSize(new Dimension(2*(frame.getToolkit().getScreenSize().width/3),frame.getToolkit().getScreenSize().height/2));
haut.setMinimumSize(new Dimension(2*(frame.getToolkit().getScreenSize().width/3),frame.getToolkit().getScreenSize().height/2));
haut.setPreferredSize(new Dimension(2*(frame.getToolkit().getScreenSize().width/3),frame.getToolkit().getScreenSize().height/2));
haut.add(new JLabel("Haut"));
final JPanel bas = new JPanel();
bas.setMaximumSize(new Dimension(2*(frame.getToolkit().getScreenSize().width/3),frame.getToolkit().getScreenSize().height/2));
bas.setMinimumSize(new Dimension(2*(frame.getToolkit().getScreenSize().width/3),frame.getToolkit().getScreenSize().height/2));
bas.setPreferredSize(new Dimension(2*(frame.getToolkit().getScreenSize().width/3),frame.getToolkit().getScreenSize().height/2));
bas.setBorder(BorderFactory.createLineBorder(Color.cyan));
bas.add(new JLabel("Bas"));
GridBagConstraints c5 = new GridBagConstraints();
c5.gridx = 0;
c5.gridy = 0;
c5.gridwidth = 1;
c5.gridheight = 2;
c5.anchor = GridBagConstraints.CENTER;
c5.weightx = 100;
c5.weighty = 100;
frame.add(gauche,c5);
GridBagConstraints c6 = new GridBagConstraints();
c6.gridx = 1;
c6.gridy = 0;
c6.gridwidth = 2;
c6.gridheight = 1;
c6.anchor = GridBagConstraints.CENTER;
c6.weightx = 100;
c6.weighty = 100;
frame.add(haut,c6);
GridBagConstraints c7 = new GridBagConstraints();
c7.gridx = 1;
c7.gridy = 1;
c7.gridwidth = 2;
c7.gridheight = 1;
c7.fill = GridBagConstraints.CENTER;
c7.weightx = 100;
c7.weighty = 100;
frame.add(bas,c7);
//redimensionnement
frame.addWindowStateListener(new WindowAdapter()
{
@Override
public void windowStateChanged(WindowEvent e)
{
gauche.setMaximumSize(new Dimension(frame.getWidth()/3,frame.getHeight()));
gauche.setMinimumSize(new Dimension(frame.getWidth()/3,frame.getHeight()));
gauche.setPreferredSize(new Dimension(frame.getWidth()/3,frame.getHeight()));
haut.setMaximumSize(new Dimension(2*(frame.getWidth()/3),frame.getHeight()/2));
haut.setMinimumSize(new Dimension(2*(frame.getWidth()/3),frame.getHeight()/2));
haut.setPreferredSize(new Dimension(2*(frame.getWidth()/3),frame.getHeight()/2));
bas.setMaximumSize(new Dimension(2*(frame.getWidth()/3),frame.getHeight()/2));
bas.setMinimumSize(new Dimension(2*(frame.getWidth()/3),frame.getHeight()/2));
bas.setPreferredSize(new Dimension(2*(frame.getWidth()/3),frame.getHeight()/2));
}
});
//action fermeture
...
frame.validate();
frame.setVisible(true);
} |
Partager