Ajout JPanel dans JTabbedPane [Résolu]

riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 2 févr. 2009 à 17:19 - Dernière réponse :  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
Afficher la suite 

32 réponses

Répondre au sujet
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 15:05
+3
Utile
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...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de dvoraky
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 08:33
0
Utile
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...
Commenter la réponse de dvoraky
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 09:51
0
Utile
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.
Commenter la réponse de riderfun
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 10:31
0
Utile
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...
Commenter la réponse de dvoraky
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 10:43
0
Utile
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.
Commenter la réponse de riderfun
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 10:55
0
Utile
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...
Commenter la réponse de dvoraky
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 11:29
0
Utile
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;
}
Commenter la réponse de riderfun
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 11:38
0
Utile
J'ai vraiment du mal désolé...
Commenter la réponse de riderfun
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 11:46
0
Utile
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;
    }
Commenter la réponse de riderfun
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 11:46
0
Utile
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...
Commenter la réponse de dvoraky
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 11:48
0
Utile
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...
Commenter la réponse de dvoraky
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 11:50
0
Utile
Justement ça je l'ai fait, le problème c'est comment je récupère le "tonOnglet"??
Commenter la réponse de riderfun
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 11:54
0
Utile
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...
Commenter la réponse de dvoraky
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 11:58
0
Utile
oups oui désolé, mais cela me retourne un int....
je m'embrouille complètement.....
Commenter la réponse de riderfun
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 12:02
0
Utile
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...
Commenter la réponse de dvoraky
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 13:47
0
Utile
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.
Commenter la réponse de riderfun
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 14:04
0
Utile
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...
Commenter la réponse de riderfun
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 févr. 2009 à 14:36
0
Utile
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...
Commenter la réponse de dvoraky
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 14:41
0
Utile
Oui c'est ça, je ne peux pas avoir deux onglets en même temps...ça m'écrase celui déjà présent...
Commenter la réponse de riderfun
riderfun 98 Messages postés jeudi 8 février 2007Date d'inscription 11 janvier 2010 Dernière intervention - 3 févr. 2009 à 14:55
0
Utile
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....
Commenter la réponse de riderfun

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Ajout JPanel dans JTabbedPane - page 2