Onglet dynamique

sanpexos Messages postés 49 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 5 juillet 2005 - 27 janv. 2003 à 22:38
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 - 29 janv. 2003 à 07:35
Bonjour tout le monde

J'aimerais augmenter le nombre d'onglets d'une application selon le souhait de l'utilisateur , est-ce que quelqu'un peut m'aider?

Merci

8 réponses

JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
28 janv. 2003 à 08:19
Si tu travailles en swing, tu dois utiliser un JTabbedPane, n'est-ce pas ?
La méthode addTab, ajoute un onglet.
JHelp
0
sanpexos Messages postés 49 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 5 juillet 2005
28 janv. 2003 à 10:26
J'utilise un JTabbedPane pour faire la base et des Jpanel pour faire les onglets.

Mon but c'est en fait de faire boucler les JPanel avec un nombre prédéfini auparavant.

Merci
0
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
28 janv. 2003 à 14:42
Et bien, la méthode addTab est fit pour celà :
for(int i=0;i<nombre;i++)
{
   JPanel panneau=creationDUnPanel();
   jTabeedPane.addTab(creerNom(i),panneau);
}
jTabbedPane.repaint();


Où creationDUnPanel créer un JPanel pour l'onglet (ça peut être un simple new JPanel())
Et : String creerNom(int i), renvoie la chaîne qui repére l'onglet en fonction du numéro.

JHelp
0
sanpexos Messages postés 49 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 5 juillet 2005
28 janv. 2003 à 16:03
Merci

J'ai essayé le code en remplaçant créationdu Panel par new JPanel().

Par contre est ce que tu peux m'expliquer comment fonctionne (la façon de la coder) String creerNom(i).

J'ai fait une méthode

  String creerNom(int i){
    return creerNom(i);
  }


Mais cela ne fonctionne pas

Merci
0

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

Posez votre question
sanpexos Messages postés 49 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 5 juillet 2005
28 janv. 2003 à 16:06
Merci

J'ai essayé le code en remplaçant créationdu Panel par new JPanel().

Par contre est ce que tu peux m'expliquer comment fonctionne (la façon de la coder) String creerNom(i).

J'ai fait une méthode

  String creerNom(int i){
    return creerNom(i);
  }


Mais cela ne fonctionne pas il marque comme erreur
java.lang.StackOverflowError

at essai.Cadre1.creerNom(Cadre1.java:36)

at essai.Cadre1.creerNom(Cadre1.java:36)

...

Merci
0
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
28 janv. 2003 à 18:21
creerNom est là pour générer le nom de l'onglet, celà peut être par exemple :
public String creerNom(int i)
{
    return "Onglet numéro "+(i+1);
}


JHelp
0
sanpexos Messages postés 49 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 5 juillet 2005
28 janv. 2003 à 19:25
Merci beaucoup j'ai essayé et cela marche.

Si cela ne te dérange pas trop pourrais tu me dire si je veux ajouter un JPanel (ou un Label) dans mes onglets et dans la boucle suffit-il que je fasse:

dans la boucle

JPanel creerNom(i) =new JPanel();
jTabbedPane1.add(creerNom(i),"BlaBla");


Merci
0
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
29 janv. 2003 à 07:35
En fait ensuite, tu ajoutes ce que tu veux dans ton JPanel, qui est le composant afficher dans ton onglet.
Par exemple (dans la boucle) :
JPanel panneau=new JPanel(new BorderLayout());
panneau.add(new JLabel("Label numéro "+(i+1)),BorderLayout.CENTER);
jTabbedPane1.addTab(creerNom(i),panneau);


JHelp
0
Rejoignez-nous