Eth4nPierre | Salut tout le monde,
Je me perds un peu dans le placement de mes composants dans mes JPanel. En effet, les lignes 75 à 77 ne prennent effet que si j'initialise leur JPanels respectifs en tant que JPanel d'accueil ligne 105.
Voici les sources :
Code :
- import java.awt.Color;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.*;
- public class Fenetre extends JFrame{
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- public JPanel panAccueil = new JPanel();
- public JPanel panInstal = new JPanel();
- public JPanel panPreferences = new JPanel();
- public JPanel panConfig = new JPanel();
- public JButton installation = new JButton("Installation" );
- public JButton preferences = new JButton("Préférences" );
- public JButton configuration = new JButton("Configuration" );
- public JButton precedentInstal = new JButton("Précédent" );
- public JButton precedentPref = new JButton("Précédent" );
- public JButton precedentConf = new JButton("Précédent" );
- public JLabel enteteAccueil = new JLabel("Entete ici" );
- public JLabel enteteInstal = new JLabel("Entete Installation" );
- public JLabel entetePref = new JLabel("Entete Préférences" );
- public JLabel enteteConf = new JLabel("Entete Configuration" );
- public JLabel texteInstallation = new JLabel("Installation de votre logiciel" );
- public JLabel textePref = new JLabel("Choisissez vos préférences" );
- public JLabel texteConfig = new JLabel("Configurer votre logiciel" );
- // public JLabel imageInst = new JLabel(new ImageIcon("C:\\Users\\Pierre\\workspace\\Menu\\Installation.jpg" ));
- // public JLabel imagePref = new JLabel(new ImageIcon("C:\\Users\\Pierre\\workspace\\Menu\\Préférences.jpg" ));
- // public JLabel imageConf = new JLabel(new ImageIcon("C:\\Users\\Pierre\\workspace\\Menu\\Installation.png" ));
- public Fenetre(){
- init_param_fenetre();
- setLayout(null);
- panAccueil.setBackground(Color.WHITE);
- panInstal.setBackground(Color.WHITE);
- panPreferences.setBackground(Color.WHITE);
- panConfig.setBackground(Color.WHITE);
- panAccueil.add(installation);
- panAccueil.add(preferences);
- panAccueil.add(configuration);
- panAccueil.add(enteteAccueil);
- panAccueil.add(texteInstallation);
- panAccueil.add(textePref);
- panAccueil.add(texteConfig);
- // panAccueil.add(imageInst);
- // panAccueil.add(imagePref);
- // panAccueil.add(imageConf);
- panInstal.add(precedentInstal);
- panInstal.add(enteteInstal);
- panPreferences.add(precedentPref);
- panPreferences.add(entetePref);
- panConfig.add(precedentConf);
- panConfig.add(enteteConf);
- installation.setBounds(100, 100, 150, 40);
- preferences.setBounds(100, 180, 150, 40);
- configuration.setBounds(100, 260, 150, 40);
- /*ligne75*/ precedentInstal.setBounds(10, 270, 150, 40);
- /*ligne76*/ precedentConf.setBounds(10, 270, 150, 40);
- /*ligne77*/ precedentPref.setBounds(10, 270, 150, 40);
- enteteAccueil.setBounds(250, 10, 100, 10);
- enteteInstal.setBounds(250, 10, 200, 10);
- entetePref.setBounds(250, 10, 200, 10);
- texteInstallation.setBounds(270, 100, 200, 40);
- textePref.setBounds(270, 180, 200, 40);
- texteConfig.setBounds(270, 260, 200, 40);
- // imageInst.setBounds(10, 90, 63, 65);
- // imagePref.setBounds(10, 165, 63, 63);
- // imageConf.setBounds(10, 250, 61, 60);
- installation.addActionListener(new BlistenInstal(this));
- preferences.addActionListener(new BlistenPref(this));
- configuration.addActionListener(new BlistenConf(this));
- precedentInstal.addActionListener(new BlistenPrecedentInst(this));
- precedentPref.addActionListener(new BlistenPrecedentPref(this));
- precedentConf.addActionListener(new BlistenPrecedentConf(this));
- this.setVisible(true);
- }
- void init_param_fenetre(){
- this.setTitle("Configuration" );
- this.setSize(600, 400);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setLocationRelativeTo(null);
- this.setResizable(false);
- /*ligne105*/ this.setContentPane(panAccueil);
- }
- //Boutons du JPanel d'accueil
- public class BlistenInstal implements ActionListener{
- Fenetre fen;
- public BlistenInstal(Fenetre fen){
- this.fen = fen;
- }
- public void actionPerformed(final ActionEvent arg0){
- fen.setContentPane(panInstal);
- fen.validate();
- }
- }
- public class BlistenPref implements ActionListener{
- Fenetre fen;
- public BlistenPref(Fenetre fen){
- this.fen = fen;
- }
- public void actionPerformed(final ActionEvent arg0){
- fen.setContentPane(panPreferences);
- fen.validate();
- }
- }
- public class BlistenConf implements ActionListener{
- Fenetre fen;
- public BlistenConf(Fenetre fen){
- this.fen = fen;
- }
- public void actionPerformed(final ActionEvent arg0){
- fen.setContentPane(panConfig);
- fen.validate();
- }
- }
- //Boutons "précédent" pour chaque JPanel choisi
- public class BlistenPrecedentInst implements ActionListener{
- Fenetre fen;
- public BlistenPrecedentInst(Fenetre fen){
- this.fen = fen;
- }
- public void actionPerformed(final ActionEvent arg0){
- fen.setContentPane(panAccueil);
- fen.validate();
- }
- }
- public class BlistenPrecedentPref implements ActionListener{
- Fenetre fen;
- public BlistenPrecedentPref(Fenetre fen){
- this.fen = fen;
- }
- public void actionPerformed(final ActionEvent arg0){
- fen.setContentPane(panAccueil);
- fen.validate();
- }
- }
- public class BlistenPrecedentConf implements ActionListener{
- Fenetre fen;
- public BlistenPrecedentConf(Fenetre fen){
- this.fen = fen;
- }
- public void actionPerformed(final ActionEvent arg0){
- fen.setContentPane(panAccueil);
- fen.validate();
- }
- }
- }
|
et le main :
Code :
- public class Test {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Fenetre fen = new Fenetre();
- }
- }
|
Merci de votre réponse |