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 :

créer un onglet


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Par défaut créer un onglet
    Bonjour,

    J'ai un JPanel qui contient un JTable. J'ai mis un onglet sur le JPanel pour que dès que j'appuie sur un bouton un onglet se charge. Chaque onglet doit contenir un tableau vierge différent. Si j'ouvre un fichier, je veux que les données cde celui ci s'affichent dans l'onglet sur lequel je suis. Un bug constaté : quand le tableau se charge la ligne contenant les colonnes (Lundi,Mardi etc) est masquée par l'onglet.

    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
     
     
    public class Panneau extends JPanel{
     
    	TableModel model;
    	JTable table;
     
    	public Panneau(){
    		setPreferredSize(new Dimension(500,500));
    		String headers[] = {"Horaires/Jours","Lundi","Mardi","Mercredi","Jeudi","Vendredi"};
    	    model = new Table(30, headers);
    	    table = new JTable(model);
     
    	    this.add(table);
     
    	}
     
    }


    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
     
     
    public class FenetrePrincipale extends JFrame{
     
     Panneau p;   
     
      public FenetrePrincipale(String titre){
     
    		super(titre);
                 p = new Panneau(); //si je n'instancie pas le panneau ici, quand je clique sur mon bouton nouvelOnglet j'ai un message d'erreur Exception in thread "main" java.lang.NullPointerException
     
      }
     
    //méthode appelé par le bouton nouvelOnglet
    public void ajouterOnglet(){
    		p = new Panneau();
    		jt.addTab("titre",p);
    		this.setContentPane(jt);
    }

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, tu devrais plutôt mettre ta table dans un JScrollPane et mettre ce composant dans ton panneau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public Panneau() {
        setPreferredSize(new Dimension(500,500));
        String headers[] = {"Horaires/Jours","Lundi","Mardi","Mercredi","Jeudi","Vendredi"};
        model = new Table(30, headers);
        table = new JTable(model);
     
        JScrollPane scrollPane = new JScrollPane(table);
        this.add(scrollPane);	    
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Par défaut
    Oui, effectivement le tableau s'affiche mieux avec le JScrollpane dans l'onglet.

    Par contre, j'ai toujours pas d'idée concernant mon ouverture de fichier.Je m'explique, je parse un fichier XML avec SAX en cliquant sur le boutonOuvrir, j'insère mes données dans le tableau. Cependant, j'aimerais qu'à chaque fois que je clique sur ce boutonOuvrir, ouvrir un nouvel onglet avec les données qui se trouve dans mon XML.

    Exemple :
    Premier fichier XML : Donnée récupérée dans le tableau du premier onglet : Test1

    Deuxième fichier XML : Donnée récupérée dans le tableau du deuxième onglet : Test2

    Je voudrais savoir ce que je dois instancier ou pas dans ma FenetrePincipale(JFrame) , ou à quel moment faire appel à la methode ajouterOnglet() (voir code ci dessus)

    J'ai créé un méthode pour pouvoir parser le fichier XML et celle ci est appelé par mon boutonOuvrir.

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Je ne comprends pas le problème, tu dois appeler la méthode ajouterOnglet() dans l'appel du bouton Ouvrir, avant ou après le parsing du fichier.

    Qu'est-ce qui te bloque?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Par défaut
    Ben justement j'ai testé l'appel de la méthode ajoutOnglet() avant et après le parsing. J'obtiens un tableau, mais les données de mon fichier xml ne sont pas récupérées dans ce tableau. J'ai fait un autre test, si j'instancie mon tableau directement dans mon constructeur FenetrePrincipale, mes données sont bien récupérées mais je ne peux plus faire d'onglet...

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Il faudrait voir comment ton parsing renvoi les données, comment la table est-elle sensée se remplir?

Discussions similaires

  1. Comment créer des onglets verticaux ?
    Par MICHEL VIEUCHANGE dans le forum Access
    Réponses: 7
    Dernier message: 05/08/2007, 21h14
  2. Réponses: 2
    Dernier message: 14/07/2006, 14h24
  3. Comment créer des onglets comme avec Excel (sheet1/sheet2)
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/09/2005, 16h36
  4. Comment créer des onglets "glissants"
    Par miniil dans le forum Composants VCL
    Réponses: 10
    Dernier message: 03/06/2005, 22h24
  5. [Visual Editor] Créer des onglets
    Par FranT dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/05/2005, 16h58

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