IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

un probleme aevc la conception de tabbed pane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut un probleme aevc la conception de tabbed pane
    Bonjour

    je souhaiterai cree un tabbed pane ayant ses onglets en haut et avec des mots "cliquables" dans, par exemple, chaques panneaux qui auraient pour action de faire apparaitre des onglets une liste d'onglets sur le cote gauche pour le premier mot cliquer et un deuxieme liste d'onglets pour le deuxime mot cliquer.

    il semblerai que se ne soit possible qu'avec de la "bidouille" je m'explique:

    cree un tabbed pane principale (celui avec les onglet en haut) visible, et les deux autres, ce sur les cotes, invisibles.

    ils deviendraient visibles si on cliquerai sur un mot.

    problemes:

    est-ce envisageable ?
    y-a t-il plus simple ?

  2. #2
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,

    selon ce que j'ai compris, voici un petit bout de code qui pourrait t'aider, sinon, explique mieux ton problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
     
    public class TestJTabbedPane {
    	public static void main(String[] args)
    	{
    		JFrame frm = new JFrame();
    		JTabbedPane tab1 = new JTabbedPane();
    		final JTabbedPane tab2 = new JTabbedPane();
    		final JTabbedPane tab3 = new JTabbedPane();
    		tab1.addTab("Onglet1", new JLabel("JTabbed 1 - Onglet1"));
    		tab1.addTab("Onglet2", new JLabel("JTabbed 1 - Onglet2"));
    		tab1.addTab("Onglet3", new JLabel("JTabbed 1 - Onglet3"));
    		tab2.addTab("Onglet1", new JLabel("JTabbed 2 - Onglet1"));
    		tab2.addTab("Onglet2", new JLabel("JTabbed 2 - Onglet2"));
    		tab2.addTab("Onglet3", new JLabel("JTabbed 2 - Onglet3"));
    		tab3.addTab("Onglet1", new JLabel("JTabbed 3 - Onglet1"));
    		tab3.addTab("Onglet2", new JLabel("JTabbed 3 - Onglet2"));
    		tab3.addTab("Onglet3", new JLabel("JTabbed 3 Onglet3"));
    		tab2.setVisible(false);
    		tab3.setVisible(false);
    		JToggleButton btn1 = new JToggleButton("1");
    		btn1.addItemListener(new ItemListener(){
    			public void itemStateChanged(ItemEvent ie) {
    				if (ie.getStateChange() == ItemEvent.SELECTED)
    					tab2.setVisible(true);
    				else if (ie.getStateChange() == ItemEvent.DESELECTED)
    					tab2.setVisible(false);
    			}
    		});
    		JToggleButton btn2 = new JToggleButton("2");
    		btn2.addItemListener(new ItemListener(){
    	    	public void itemStateChanged(ItemEvent ie) {
    				if (ie.getStateChange() == ItemEvent.SELECTED)
    					tab3.setVisible(true);
    				else if (ie.getStateChange() == ItemEvent.DESELECTED)
    					tab3.setVisible(false);
    			}
    		});
     
    		JToolBar toolbar = new JToolBar(JToolBar.VERTICAL);
    		toolbar.add(btn1);
    		toolbar.add(btn2);
    		Box bx = Box.createHorizontalBox();
    		bx.add(toolbar);
    		bx.add(tab2);
    		bx.add(tab3);
    		bx.add(tab1);
    		frm.add(bx);
    		frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frm.setSize(600, 400);
    		frm.setVisible(true);
    	}
    }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut
    Merci de votre reponse
    ne pouvant pas tester pour l'instant, ce que je vais dire et a prendre au conditionnel.
    Il me semble que c'est quasiment ça que je voulais, en tout cas cela va bien m'avancer.
    Pour detailer le point qui semble differe je prendrai l'exemple suivant le premier onglet du premier tabbledpane contient un texte avec trois mots "cliquable":
    compte, stock,client.
    le fait de cliquer sur compte cree (ici rend visible) les onglets sur la gauche
    avec pour le premier le detail de la liste des achats
    le second la liste des ventes
    etc...
    de meme le fait de cliquer sur stock cree les onglets sur la droite avec pour le premier le detail des produits dans l'inventaire
    le second les produits ecoules
    etc...
    voila pour le fonctionnement general

    Un autre point est qu'il me faudrait faire apparaitre les listes en fonction de celle presente et nom du mot clique, c'est a dire que dans l'exemple la premiere liste aparait a gauche avec les ventes mais si cela avait ete la liste des stocks qui avait ete apele et qu'il n'y avait que les onglets du haut la nouvelle liste aurait ete cree a gauche et non pas a droite. c'est-a-dire ne pas liee la liste des stocks avec le "cote" droit, celles des ventes avec le "gauche" etc
    Il se peut que ma maniere de resolution du probleme est peut-etre bancal.
    (il existe peut-etre un layout legerement diffrent, ou une maniere, mais resolvant ce probleme plus simplement)
    encore merci pour votre reponse

  4. #4
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,

    j'avoue que je n'ai pas tout saisi.

    alors, est-ce que tu veux, lors du clic sur les "mots cliquables" (je suppose que c'est des boutons que tu veux parler??), qu'un nouveau JTabbedPane soit créé, à gauche ou à droite, ou bien tu veux seulement utiliser un seul JTabbedPane, et ajouter de nouveaux onglets

    Un autre point est qu'il me faudrait faire apparaitre les listes en fonction de celle presente et nom du mot clique, c'est a dire que dans l'exemple la premiere liste aparait a gauche avec les ventes mais si cela avait ete la liste des stocks qui avait ete apele et qu'il n'y avait que les onglets du haut la nouvelle liste aurait ete cree a gauche et non pas a droite. c'est-a-dire ne pas liee la liste des stocks avec le "cote" droit, celles des ventes avec le "gauche" etc
    j'ai pas du tout compris, et je doute que quelqu'un comprendra ce que tu veux dire ici. Il faudra mieux expliquer ce que tu veux

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Par défaut
    Boinjour
    non par mots cliquables j'entend avec, par exemple, une balise html de type "href".dans mon cas ce serai un appel a une base de donne qui constitureai la reponse
    Quant-aux tabbedpanes mon idee est de les superposee l'un sur l'autre.
    Avec celui du haut toujour present et les 2 autres aparaissant en fonction des mots cliques
    cependant ayant regarde votre code il ma deja bien aide et souleve une autre question:
    lorsque je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    final JTabbedPane tab3 = new JTabbedPane(JTabbedPane.LEFT);
    ...
    tab3.addTab("Onglet1", new JLabel("JTabbed 3 - Onglet1"));
    comment faire pour que le label avec Onglet1 ne soit pas ecrit horizontalement mais verticalement

  6. #6
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,

    désolé je ne sais pas trop comment faire pour les placer verticalement

    peut être que quelqu'un d'autre aura une idée

Discussions similaires

  1. Tabbed pane avec PHP
    Par kimou27 dans le forum Langage
    Réponses: 1
    Dernier message: 14/03/2010, 12h14
  2. [Struts-Layout] faire un tabbed pane dynamique
    Par Alec6 dans le forum Struts 1
    Réponses: 1
    Dernier message: 05/05/2009, 22h08
  3. [jTable] probleme de rafraichissement (conception?)
    Par lkryss dans le forum Composants
    Réponses: 27
    Dernier message: 10/07/2006, 11h59
  4. problème de conception : cycle
    Par FarookFreeman dans le forum Diagrammes de Classes
    Réponses: 13
    Dernier message: 20/10/2005, 10h15
  5. probleme simple de tab[][]
    Par vince3320 dans le forum C
    Réponses: 8
    Dernier message: 17/05/2004, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo