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

Composants Java Discussion :

[JPanel][JTable] Modifier le Layout


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de warwink
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 650
    Par défaut [JPanel][JTable] Modifier le Layout
    Salut.

    Alors j'ai pas trouvé mieux comme titre désolé.

    En gros, j'ai un JPanel auquel j'ajoute deux JTable.

    Si je définis le Layout de mon JPanel en BorderLayout et que j'ajoute la première table en indiquant North et la deuxième en Center, ca me coupe tout simplement mon JPanel en deux. Donc si mon premier tableau n'arrive pas jusqu'à la moitié, j'aurai du vide entre les deux tableaux.

    Mais, moi ce que je veux, c'est que mon deuxième tableau j'ajoute juste en dessous du premier, collé.

    Alors comment faire ? Y aurait-il pas une méthode à redéfinir dans la Classe JTable ou dans mon ModelTable ?

    J'avais essayé de modifier les dimmensions PreferredSize de mon premier JTable mais ceux ci ne fait que réduire mon premier tableau sans rapprocher le deuxième.

    J'ai pas trop essayé avec les autres Layout car ils ne m'inspirent pas trop pour ce que je veux faire par la suite.

    J'espère avoir été clair .

    Merci

  2. #2
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Pourquoi pas FlowLayout tout simplement ? Il me semble que cela arrangera ton probleme non ?

  3. #3
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Bonsoir, voici un petit exemple qui fonctionne :
    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
    public class TestJTable extends JFrame {
     
        public TestJTable() {
            JTable tableNorth = new JTable(new Object[][] {
                    {"un", "premier", "rouge"},
                    {"deux", "deuxième", "vert"},
                    {"trois", "troisième", "bleu"},
                    {"quatre", "quatrième", "noir"}},
                    new Object[] {"numéro", "rang", "couleur"});
            JTable tableCenter = new JTable(new Object[][] {
                    {"un", "rouge"},
                    {"deux", "vert"},
                    {"trois", "bleu"},
                    {"quatre", "noir"}},
                    new Object[] {"numéro", "couleur"});
            getContentPane().setLayout(new BorderLayout());
            getContentPane().add(tableNorth, BorderLayout.NORTH);
            getContentPane().add(tableCenter, BorderLayout.CENTER);
            pack();
        }
     
        public static void main(String[] args) {
            new TestJTable().setVisible(true);
        }
    }

  4. #4
    Membre émérite Avatar de warwink
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 650
    Par défaut
    Ralala, j'étais en train de douter avec l'exemple tout bête de herve91 qui marchait mais en faite non :p.

    Dans ton exemple, tu ne mets pas tes deux tableaux dans des JScrollPane. Donc, déjà, tu n'as pas les titres des colonnes puis mon problème n'apparaît pas.

    Si tu remplaces ca:

    getContentPane().add(tableNorth, BorderLayout.NORTH);
    getContentPane().add(tableCenter, BorderLayout.CENTER);
    par ca:

    JScrollPane pane1 = new JScrollPane(tableNorth);
    JScrollPane pane2 = new JScrollPane(tableCenter);

    getContentPane().add(pane1, BorderLayout.NORTH);
    getContentPane().add(pane2, BorderLayout.CENTER);
    Le problème revient.

    Sinon avec le FlowLayout, c'est même pas la peine, car la disposition ne me convient pas, c'est même pire. :p

  5. #5
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Tu dois affecter la preferredSize de ton JScrollPane afin que la méthode pack() redimensionne ta frame comme il faut.

  6. #6
    Membre émérite Avatar de warwink
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 650
    Par défaut
    Pff encore un truc bête.

    Comme quoi, expliquer son problème aide à éclaircir les choses et à trouver la réponse.

    J'avais oublié les JScrollPane alors que c'est la taille de ceux là qu'il faut que je modifie.

    J'ai donc fait dans mon code un petit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    computerScrollPane.setPreferredSize(computerTable.getPreferredSize());
    [EDIT]merci seiryujay[\EDIT]

  7. #7
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    "you're welcome" comme on dit là-bas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LAF][JTABLE]Modifier l'action de 'ENTER'
    Par narmataru dans le forum Composants
    Réponses: 3
    Dernier message: 13/10/2006, 18h40
  2. Réponses: 5
    Dernier message: 06/06/2006, 10h27
  3. [JTable]Modifier les valeurs en temps réel
    Par yoshï dans le forum Composants
    Réponses: 11
    Dernier message: 02/06/2006, 17h11
  4. [JTable] modifier les données à postériori
    Par SheikYerbouti dans le forum Composants
    Réponses: 4
    Dernier message: 09/02/2006, 12h19
  5. [JTable] Modifier la couleur de fond d'une ligne
    Par joes_bushi dans le forum Composants
    Réponses: 2
    Dernier message: 20/09/2005, 12h13

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