Ajout JPanel dans JTabbedPane

Résolu
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010 - 2 févr. 2009 à 17:19
 amirkel - 12 août 2009 à 02:00
Bonjour, pour mes projets je souhaite créer une sorte de paint en java et la possibilité d'avoir plusieurs onglet separés.
J'arrive à créer les onglets mais je voudrais pouvoir traiter différement ces onglets comme la couleur de fond ect...
Voici mon code pour créer les onglets:
private JMenuItem getNewOnglet() {
        if (NewOnglet == null) {
            NewOnglet = new JMenuItem();
            NewOnglet.setText("Nouvel onglet");
            NewOnglet.setToolTipText("Ajouter un onglet");
            NewOnglet.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
                    KeyEvent.CTRL_DOWN_MASK));
            NewOnglet.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    nbOnglet = nbOnglet + 1;
                    if (nbOnglet >= 10) {
                        JOptionPane.showMessageDialog(null,
                                "Vous ne pouvez dépasser 10 onglets!",
                                "Erreur", JOptionPane.WARNING_MESSAGE);
                    } else {
                        TabbedPane.insertTab("Panneau" + nbOnglet, null, null,
                                "Onglet", nbOnglet);
                        System.out.println("Nombre onglet: " + nbOnglet);
                    }

                }
            });
        }
        return NewOnglet;
    }
et voici pour modifier la couleur de fond:
private JButton getBtnMulti() {
        if (btnMulti == null) {
            btnMulti = new JButton();
            btnMulti.setIcon(new ImageIcon("images/multi.png"));
            btnMulti.setToolTipText("Choix de la couleur");
            btnMulti.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("####### Choix couleur #######");
                    Color coul = JColorChooser.showDialog(null,
                            "Couleur de fond", Color.WHITE);
                    System.out.println("Choix de la couleur " + coul);
                    Panel1.setBackground(coul);

                }
            });
        }
        return btnMulti;
    }
Merci par avance

32 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 15:05
Salut,

Je ne sais pas si cela vient de là, mais de toute manière il faudrait que tu aies à chaque fois une nouvelle instance de JPanel dans ton JTabbedPane.

Fait un test pour voir.
Dans le actionPerformed de ton JMenuItem newOnglet, remplaces :
                        getTabbedPane()
                                .addTab("Panneau" + nbOnglet, getPanel());
par
                        getTabbedPane()
                                .addTab("Panneau" + nbOnglet, new JPanel());

Juste histoire de voire que j'ai raison et que c'est parce que tu remets le même panel dans le nouvel onglet qu'il te le rajoute pas....

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
3
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 08:33
Salut,
Et qu'est ce qui ne marche? Message d'erreur?
Je ne sais pas vraiment comment on peut t'aider là... Fournit plus d'infos sur ton problème...

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 09:51
En fait, je n'ai pas d'erreur.
Mais je demande juste des conseils car je ne sais pas comment faire cela...
Car la création d'onglets, c'est ok mais je voudrais avoir un Panel indépendant pour chaque...Faut-il que je crée un JPanel à chaque création d'onglet?
et comment le rattacher à celui ci?
Cordialement.
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 10:31
Salut,

JTappedPane descend de Container.
Donc c'est tout bête, un JTabbedPane EST un Container donc il se comporte comme un JPanel.

Donc pour rajouter un JPanel au JTabbedPane, tu fais la même chose que lorsque tu rajoutes un composant à un JPanel.
A savoir add(....)

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 10:43
Alors dans mon code comment je peux récupérer le JTabbedPane actif pour y ajouter le Panel?
Voilà comment j'ai fait un ajouter un JTabbedPane:
TabbedPane.insertTab("Panneau" + nbOnglet, null, null,
                                "Onglet", nbOnglet);

Mais pour ajouter un Panel au panneau créé je ne sais pas comment récupérer celui-ci...
Merci de m'aider.
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 10:55
Salut,
Ben créé une nouvelle instance de ton JTabbedPane comme tu créés les instances de tes boutons etc...

public JTabbedPane getOnglets() {

   if (tabbedPane == null) {
      tabbedPane = new JTabbedPane(...);
      ...
   }
   return tabbedPane;
}

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 11:29
En fait, tu me dis que je crée une instance de JTabbedPane comme ça et j'y ajoute le code pour ajouter les onglets?
public JTabbedPane getOnglets() {

   if (tabbedPane == null) {
      tabbedPane = new JTabbedPane(...);
     
nbOnglet = nbOnglet + 1;
                    if (nbOnglet >= 10) {
                        JOptionPane.showMessageDialog(null,
                                "Vous ne pouvez dépasser 10 onglets!",
                                "Erreur", JOptionPane.WARNING_MESSAGE);
                    } else {
                        tabbedPane.insertTab("Panneau" + nbOnglet, null, null,
                                "Onglet", nbOnglet);
                        System.out.println("Nombre onglet: " + nbOnglet);
                    }
   }
   return tabbedPane;
}
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 11:38
J'ai vraiment du mal désolé...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 11:46
J'ai fait ça mais le problème c'est que je ne sais pas récupérer précisement l'onglet qui vient d'étre créé...
private JTabbedPane getTabbedPane() {
        if (TabbedPane == null) {
            TabbedPane = new JTabbedPane();
            TabbedPane.addTab("Panneau 0", null, getPanel1(), null);
        }
        return TabbedPane;
    }
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 11:46
Salut,
Il existe une méthode dans JTabbedPane :

addTab(String name, Component container);

Donc si tu veux rajouter un JPanel dans un nouvel onglet :

JPanel panneau = new JPanel();
... // rajout des composants dans le JPanel
tonOnglet.addTab("Nouvel Onglet", panneau);

et paf, c'est good

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 11:48
Salut,
J'avais pas vu ce que tu avais mis.

C'est niquel ce que tu as fait! Très bien.

Maintenant pour savoir quel onglet est sélectionné... Bon, je te le dis mais pense à regarder la Javadoc de la classe ok?

tonOnglet.getSelectedIndex()

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 11:50
Justement ça je l'ai fait, le problème c'est comment je récupère le "tonOnglet"??
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 11:54
Salut,

Ben t'as fait la méthode...
getTabbedPane().getSelectedIndex();

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 11:58
oups oui désolé, mais cela me retourne un int....
je m'embrouille complètement.....
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 12:02
Salut,

Euh... ben oui, si tu veux la position de ton onglet... c'est un int oui...

Si tu veux, récupérer ton JTabbedPane --> getTabbedPane()
Et ensuite, c'est un objet JTabbedPane qui est retourné donc tu peux utiliser toutes les méthodes de cet objet, y compris getSelectedIndex()

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 13:47
Ok super j'ai compris le truc merci beaucoup pour ton aide!!
Je suis vraiment débutant et j'essaie de bien comprendre le principe...
ça fait plaisir d'avoir des personnes compétentes qui peuvent nous aider..
Bien cordialement.
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 14:04
Encore une petite question...je sais...
private JTabbedPane getTabbedPane() {
        if (TabbedPane == null) {
            TabbedPane = new JTabbedPane();
            TabbedPane.addTab("Panneau 0", null, getPanel(), null);

        }
        return TabbedPane;
    }

        private JPanel getPanel() {
        if (panneau == null) {
            GridBagConstraints gridBagConstraints = new GridBagConstraints();
            panneau = new JPanel();
            panneau.setLayout(new GridBagLayout());
        }
        return panneau;
    }
private JButton getBtnMulti() {
        if (btnMulti == null) {
            btnMulti = new JButton();
            btnMulti.setIcon(new ImageIcon("images/multi.png"));
            btnMulti.setToolTipText("Choix de la couleur");
            btnMulti.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("####### Choix couleur #######");
                    Color coul = JColorChooser.showDialog(null,
                            "Couleur de fond", Color.WHITE);
                    System.out.println("Choix de la couleur " + coul);
                    getPanel().setBackground(coul);
                }
            });
        }
        return btnMulti;
    }
private JMenuItem getNewOnglet() {
        if (NewOnglet == null) {
            NewOnglet = new JMenuItem();
            NewOnglet.setText("Nouvel onglet");
            NewOnglet.setToolTipText("Ajouter un onglet");
            NewOnglet.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
                    KeyEvent.CTRL_DOWN_MASK));
            NewOnglet.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    nbOnglet = nbOnglet + 1;
                    if (nbOnglet >= 10) {
                        JOptionPane.showMessageDialog(null,
                                "Vous ne pouvez dépasser 10 onglets!",
                                "Erreur", JOptionPane.WARNING_MESSAGE);
                    } else {
                        getTabbedPane().addTab("Panneau" + nbOnglet, null,
                                getPanel(), null);
                        System.out.println("Nombre onglet: " + nbOnglet);
                    }

                }
            });
        }
        return NewOnglet;
    }
Voici mes méthodes concernées, lorsque je crée un nouvel onglet ça me remplace le précédent...j'arrive cependant à changer la couleur de fond maintenant...
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
3 févr. 2009 à 14:36
Salut,
Déjà dans ton cas, remplaces ta méthode
getTabbedPane().addTab("Panneau" + nbOnglet, null,
                                getPanel(), null);
par
getTabbedPane().addTab("Panneau" + nbOnglet, getPanel());

Ca revient au même.

Ensuite, qu'entends tu par remplacer le précédent? Ca t'écrase ton ancien onglet? Donc tu n'arrives pas à avoir 2 onglets en simultané?

Et pour conclure, je ne m'estime en aucun cas compétent. J'ai déjà eu à travailler avec des JTabbedPane mais bon je suis pas expert pour autant... Tu trouveras des personnes largement plus compétentes sur ce forum, comme Darksidious ou encore Twinuts.






Cependant, je peux toujours répondre à tes questions

<hr width="100%" size="2" />




 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 14:41
Oui c'est ça, je ne peux pas avoir deux onglets en même temps...ça m'écrase celui déjà présent...
0
riderfun Messages postés 98 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 11 janvier 2010
3 févr. 2009 à 14:55
Voici mon code tout mon code sources...je ne sais pas si je m'y suis bien pris...

import javax.swing.SwingUtilities;
import java.awt.BorderLayout;

import javax.swing.JColorChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;

import java.awt.event.KeyEvent;
import javax.swing.JToolBar;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.JTabbedPane;
import java.awt.Color;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;

public class FenetrePrincipale extends JFrame {

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JMenuBar Menu = null;
    private JMenu Fichiers = null;
    private JMenu Edit = null;
       private JMenuItem Ouvrir = null;
    private JMenuItem NewOnglet = null;
    private JMenuItem Nouveau = null;
    private JMenuItem Fermer = null;
    private JMenuItem Enregistrer = null;
    private JToolBar ToolBar = null;
    private JButton btnCrayon = null;
    private JButton btnPinceau = null;
    private JButton btnTraceCarre = null;
    private JButton btnTraceCercle = null;
    private JButton btnTraceTrait = null;
    private JLabel lblOutils = null;
    private JLabel lblTaile = null;
    private JButton btnT1 = null;
    private JButton btnT2 = null;
    private JButton btnT3 = null;
    private JButton btnT4 = null;
    private JButton btnT5 = null;
    private JButton btnT6 = null;
    private JButton btnT7 = null;
    private JLabel lblCouleurPoint = null;
    private JButton btnBlanc = null;
    private JButton btnNoir = null;
    private JButton btnBleu = null;
    private JButton btnRouge = null;
    private JButton btnJaune = null;
    private JButton btnVert = null;
    private JButton btnMulti = null;
    private JTabbedPane TabbedPane = null;
    private JPanel panneau = null;
    private JButton btnGomme = null;
    // Ajout onglet
    private int nbOnglet = 0;

    private JMenuBar getMenu() {
        if (Menu == null) {
            Menu = new JMenuBar();
            Menu.add(getFichiers());
            Menu.add(getEdit());
        }
        return Menu;
    }

    private JMenu getFichiers() {
        if (Fichiers == null) {
            Fichiers = new JMenu();
            Fichiers.setText("Fichiers");
            Fichiers.add(getOuvrir());
            Fichiers.addSeparator();
            Fichiers.add(getNewOnglet());
            Fichiers.addSeparator();
            Fichiers.add(getNouveau());
            Fichiers.addSeparator();
            Fichiers.add(getEnregistrer());
            Fichiers.addSeparator();
            Fichiers.add(getFermer());
        }
        return Fichiers;
    }

    private JMenu getEdit() {
        if (Edit == null) {
            Edit = new JMenu();
            Edit.setText("Edition");
        }
        return Edit;
    }

  
     private JMenuItem getOuvrir() {
        if (Ouvrir == null) {
            Ouvrir = new JMenuItem();
            Ouvrir.setText("Ouvrir");
            Ouvrir.setToolTipText("Ouvrir un document");
            Ouvrir.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
                    KeyEvent.CTRL_DOWN_MASK));
        }
        return Ouvrir;
    }

    private JMenuItem getNewOnglet() {
        if (NewOnglet == null) {
            NewOnglet = new JMenuItem();
            NewOnglet.setText("Nouvel onglet");
            NewOnglet.setToolTipText("Ajouter un onglet");
            NewOnglet.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
                    KeyEvent.CTRL_DOWN_MASK));
            NewOnglet.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    nbOnglet = nbOnglet + 1;
                    if (nbOnglet >= 10) {
                        JOptionPane.showMessageDialog(null,
                                "Vous ne pouvez dépasser 10 onglets!",
                                "Erreur", JOptionPane.WARNING_MESSAGE);
                    } else {
                        int selection = getTabbedPane().getSelectedIndex();
                        getTabbedPane()
                                .addTab("Panneau" + nbOnglet, getPanel());
                        System.out.println("Nombre onglet: " + nbOnglet);
                    }

                }
            });
        }
        return NewOnglet;
    }

    private JMenuItem getNouveau() {
        if (Nouveau == null) {
            Nouveau = new JMenuItem();
            Nouveau.setText("Nouveau Panel");
            Nouveau.setToolTipText("Réinitialiser document");
            Nouveau.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
                    KeyEvent.CTRL_DOWN_MASK));
        }
        return Nouveau;
    }

    private JMenuItem getFermer() {
        if (Fermer == null) {
            Fermer = new JMenuItem();
            Fermer.setText("Quitter");
            Fermer.setToolTipText("Quitter l'application");
            Fermer.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,
                    KeyEvent.ALT_DOWN_MASK));
            Fermer.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.exit(0);
                }
            });

        }
        return Fermer;
    }

    private JMenuItem getEnregistrer() {
        if (Enregistrer == null) {
            Enregistrer = new JMenuItem();
            Enregistrer.setText("Enregistrer");
            Enregistrer.setToolTipText("Enregistrer le document");
            Enregistrer.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
                    KeyEvent.CTRL_DOWN_MASK));
        }
        return Enregistrer;
    }

    private JToolBar getToolBar() {
        if (ToolBar == null) {
            lblCouleurPoint = new JLabel();
            lblCouleurPoint.setText("   Couleur : ");
            lblCouleurPoint.setToolTipText("Couleur du pointeur");
            lblTaile = new JLabel();
            lblTaile.setText("   Taille : ");
            lblTaile.setToolTipText("Taille du pointeur");
            lblOutils = new JLabel();
            lblOutils.setText("Outils : ");
            lblOutils.setFont(new Font("Dialog", Font.BOLD, 12));
            ToolBar = new JToolBar();
            ToolBar.add(lblOutils);
            ToolBar.add(getBtnCrayon());
            ToolBar.add(getBtnPinceau());
            ToolBar.add(getBtnTraceCarre());
            ToolBar.add(getBtnTraceCercle());
            ToolBar.add(getBtnTraceTrait());
            ToolBar.add(getBtnGomme());
            ToolBar.add(lblTaile);
            ToolBar.add(getBtnT1());
            ToolBar.add(getBtnT2());
            ToolBar.add(getBtnT3());
            ToolBar.add(getBtnT4());
            ToolBar.add(getBtnT5());
            ToolBar.add(getBtnT6());
            ToolBar.add(getBtnT7());
            ToolBar.add(lblCouleurPoint);
            ToolBar.add(getBtnBlanc());
            ToolBar.add(getBtnNoir());
            ToolBar.add(getBtnBleu());
            ToolBar.add(getBtnRouge());
            ToolBar.add(getBtnJaune());
            ToolBar.add(getBtnVert());
            ToolBar.add(getBtnMulti());
        }
        return ToolBar;
    }

    private JButton getBtnCrayon() {
        if (btnCrayon == null) {
            btnCrayon = new JButton();
            btnCrayon.setIcon(new ImageIcon("images/crayon.png"));
            btnCrayon.setToolTipText("Tracé");
            btnCrayon.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });

        }
        return btnCrayon;
    }

    private JButton getBtnPinceau() {
        if (btnPinceau == null) {
            btnPinceau = new JButton();
            btnPinceau.setIcon(new ImageIcon("images/pinceau.png"));
            btnPinceau.setToolTipText("Pinceau");
            btnPinceau.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnPinceau;
    }

    private JButton getBtnTraceCarre() {
        if (btnTraceCarre == null) {
            btnTraceCarre = new JButton();
            btnTraceCarre.setIcon(new ImageIcon("images/rectangle.png"));
            btnTraceCarre.setToolTipText("Tracer un rectangle");
            btnTraceCarre
                    .addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent e) {
                            System.out.println("actionPerformed()");
                        }
                    });
        }
        return btnTraceCarre;
    }

    private JButton getBtnTraceCercle() {
        if (btnTraceCercle == null) {
            btnTraceCercle = new JButton();
            btnTraceCercle.setIcon(new ImageIcon("images/oval.png"));
            btnTraceCercle.setToolTipText("Tracé des cercles");
            btnTraceCercle
                    .addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent e) {
                            System.out.println("actionPerformed()");
                        }
                    });
        }
        return btnTraceCercle;
    }

    private JButton getBtnTraceTrait() {
        if (btnTraceTrait == null) {
            btnTraceTrait = new JButton();
            btnTraceTrait.setIcon(new ImageIcon("images/trait.png"));
            btnTraceTrait.setToolTipText("Tracer des traits");
            btnTraceTrait
                    .addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent e) {
                            System.out.println("actionPerformed()");
                        }
                    });
        }
        return btnTraceTrait;
    }

    private JButton getBtnT1() {
        if (btnT1 == null) {
            btnT1 = new JButton();
            btnT1.setIcon(new ImageIcon("images/trait1.png"));
            btnT1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnT1;
    }

    private JButton getBtnT2() {
        if (btnT2 == null) {
            btnT2 = new JButton();
            btnT2.setIcon(new ImageIcon("images/trait2.png"));
            btnT2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnT2;
    }

 
    private JButton getBtnT3() {
        if (btnT3 == null) {
            btnT3 = new JButton();
            btnT3.setIcon(new ImageIcon("images/trait3.png"));
            btnT3.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnT3;
    }

   
    private JButton getBtnT4() {
        if (btnT4 == null) {
            btnT4 = new JButton();
            btnT4.setIcon(new ImageIcon("images/trait4.png"));
            btnT4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnT4;
    }

    private JButton getBtnT5() {
        if (btnT5 == null) {
            btnT5 = new JButton();
            btnT5.setIcon(new ImageIcon("images/trait5.png"));
            btnT5.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnT5;
    }

    private JButton getBtnT6() {
        if (btnT6 == null) {
            btnT6 = new JButton();
            btnT6.setIcon(new ImageIcon("images/trait6.png"));
            btnT6.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnT6;
    }

   
    private JButton getBtnT7() {
        if (btnT7 == null) {
            btnT7 = new JButton();
            btnT7.setIcon(new ImageIcon("images/trait7.png"));
            btnT7.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnT7;
    }

  
    private JButton getBtnBlanc() {
        if (btnBlanc == null) {
            btnBlanc = new JButton();
            btnBlanc.setIcon(new ImageIcon("images/blanc.jpg"));
            btnBlanc.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnBlanc;
    }

 
    private JButton getBtnNoir() {
        if (btnNoir == null) {
            btnNoir = new JButton();
            btnNoir.setIcon(new ImageIcon("images/noir.jpg"));
            btnNoir.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnNoir;
    }

  
    private JButton getBtnBleu() {
        if (btnBleu == null) {
            btnBleu = new JButton();
            btnBleu.setIcon(new ImageIcon("images/bleu.jpg"));
            btnBleu.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnBleu;
    }

  
    private JButton getBtnRouge() {
        if (btnRouge == null) {
            btnRouge = new JButton();
            btnRouge.setIcon(new ImageIcon("images/rouge.jpg"));
            btnRouge.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnRouge;
    }

  
    private JButton getBtnJaune() {
        if (btnJaune == null) {
            btnJaune = new JButton();
            btnJaune.setIcon(new ImageIcon("images/jaune.jpg"));
            btnJaune.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnJaune;
    }

   
    private JButton getBtnVert() {
        if (btnVert == null) {
            btnVert = new JButton();
            btnVert.setIcon(new ImageIcon("images/vert.jpg"));
            btnVert.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {

                }
            });
        }
        return btnVert;
    }

  
    private JButton getBtnMulti() {
        if (btnMulti == null) {
            btnMulti = new JButton();
            btnMulti.setIcon(new ImageIcon("images/multi.png"));
            btnMulti.setToolTipText("Choix de la couleur");
            btnMulti.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("####### Choix couleur #######");
                    Color coul = JColorChooser.showDialog(null,
                            "Couleur de fond", Color.WHITE);
                    System.out.println("Choix de la couleur " + coul);
                    getPanel().setBackground(coul);
                }
            });
        }
        return btnMulti;
    }

   
    private JTabbedPane getTabbedPane() {
        if (TabbedPane == null) {
            TabbedPane = new JTabbedPane();
            getTabbedPane().addTab("Panneau" + nbOnglet, getPanel());

        }
        return TabbedPane;
    }

  
    private JPanel getPanel() {
        if (panneau == null) {
            panneau = new JPanel();
            panneau.setLayout(new GridBagLayout());
        }
        return panneau;
    }

  
    private JButton getBtnGomme() {
        if (btnGomme == null) {
            btnGomme = new JButton();
            btnGomme.setIcon(new ImageIcon("images/gommetool.png"));
            btnGomme.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.out.println("actionPerformed()");
                }
            });
        }
        return btnGomme;
    }

  
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                FenetrePrincipale thisClass = new FenetrePrincipale();
                thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                thisClass.setVisible(true);
            }
        });
    }

    /**
     * This is the default constructor
     */
    public FenetrePrincipale() {
        super();
        initialize();
    }

 
    private void initialize() {
        this.setSize(959, 391);
        this.setJMenuBar(getMenu());
        this.setContentPane(getJContentPane());
        this.setTitle("PaintWoods");
    }

       private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getToolBar(), BorderLayout.NORTH);
            jContentPane.add(getTabbedPane(), BorderLayout.CENTER);
        }
        return jContentPane;
    }

}

Peut-être cela t'aidera à comprendre mon projet d'étude.
Comme tu vas t'en douter, je souhaite créer une application de dessin toute simple ou on pourra faire plusieurs dessins sur différents onglets....
0
Rejoignez-nous