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

 Java Discussion :

Taille d'une JTable


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Par défaut Taille d'une JTable
    salut

    J'ai une JTabbedpane qui contient une JTable le probleme est que la taille de JTable reste inchangeable.
    voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    JFrame frame = new JFrame();
    frame.setSize(700,650);
    JTabbedPane tp= new JTabbedPane(JTabbedPane.TOP);
    tp.setPreferredSize(new Dimension(600,650));
    JPanel pan1 =new JPanel();
    pan1.setPreferredSize(new Dimension(600,650));
    tab= new JTable(new DefaultTableModel(ss.boit,header ));
     JScrollPane scrole = new JScrollPane(tab);
     scrole.setSize(600,650);
    pan1.add(scrole);
    tp.addTab("box",pan1);
    merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Par défaut
    Si tu souhaite que tes composants s'adaptent automatiquement à la taille de la jFrame, il faut utiliser un layout.

    Ainsi, la contrainte CENTER de borderLayout agrandi la taille du composant associé de manière à remplir tout l'espace disponible.

    le code que tu fournis est incomplet pour t'aider d'avantage, mais un borderLayout peut s'appliquer au contentPane de la JFrame et au jtabbedpane.

    Aussi tu n'as pas besoin d'ajouter ton JScrollpane dans un JPanel avant d'ajouter le tout dans la JTabbedPane. Ajoute directement le JScrollPane dans la JTabbedPane avec son nom comme contrainte.

    Fixer les taille des composants à la main n'est pas très recommandé. Il est préférable d'utiliser les layouts.

    Je te conseilles de jeter un oeil à Borderlayout.

  3. #3
    Membre très actif Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Par défaut
    salut
    J'ai ajouter un BorderLayout mais la taille de la JTable reste toujours in changeable.

    j'ai ajouter sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    pan1.add(scrole,BorderLayout.CENTER);
    frame.add(tp,BorderLayout.CENTER);

  4. #4
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Par défaut
    C'est le JTable ou le JScrollPane qui ne d’agrandi pas ?

    Si le JScrollPane ne grandi pas, la JTable non plus.

    Pourrais-tu insérer toute la section de code svp ?

    En effet, je ne vois pas où tu ajoute le BorderLayout. Si un borderLayout n'est pas ajouter, l'utilisation de la constante BorderLayout.CENTER sera sans effet.

    De plus, il faut éviter d'utiliser la méthode setSize() avec BorderLayout.

    Enfin, utilise aussi les méthodes setMinimuSize() et setMaximumSize() pour définir la plus petite et la plus grande taille autorisé (.setPreferredSize() doit être inclu entre le minimum et le maximum).

  5. #5
    Membre très actif Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Par défaut
    voila le code modifier :

    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
     
    JFrame frame = new JFrame("Archive");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    frame.setSize(700,650);
    		JSplitPane sp =new JSplitPane(0,true);
    		JTabbedPane tp= new JTabbedPane(JTabbedPane.TOP);
    		tp.setPreferredSize(new Dimension(700,650));
    	   JPanel pan1 =new JPanel();
    	   pan1.setPreferredSize(new Dimension(700,650));
    JPanel pan2 =new JPanel();
    	   pan2.setPreferredSize(new Dimension(700,650));
     JPanel pan2 =new JPanel();
    	   pan2.setPreferredSize(new Dimension(700,650));
    tab= new JTable(new DefaultTableModel(ss.boit,header ));
    JScrollPane scrole = new JScrollPane(tab);
    pan1.add(scrole,BorderLayout.EAST);
     tp.addTab("Les Boites",pan1);
           tp.addTab("Documents ",pan2);
    	frame.add(tp,BorderLayout.EAST);
    java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
     
    frame.setLocation(
            (screenSize.width-frame.getWidth())/2,
            (screenSize.height-frame.getHeight())/2
            );
    	frame.setVisible(true);
    c'est tous le code .mois je veut agrandir la taille du mon JTable.

  6. #6
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Par défaut
    Bon, c'est bien ce que je pensait, tu n'as pas instancier de BorderLayout. Ainsi, l'usage de la constante BorderLayout.CENTER ne sert à rien.

    Pour y voir un peu plus clair, j'ai réaménagé le code.

    Voici la nouvelle version:
    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
    JFrame frame = new JFrame("Archive");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(700, 650);
            JSplitPane sp = new JSplitPane(0, true);
     
            JTabbedPane tp = new JTabbedPane(JTabbedPane.TOP);
            tp.setPreferredSize(new Dimension(700, 650));
     
            JPanel pan1 = new JPanel();
            BorderLayout blayout1 = new BorderLayout();
            pan1.setPreferredSize(new Dimension(700, 650));
            pan1.setLayout(blayout1);
     
            JTable tab = new JTable();
            JScrollPane scrole = new JScrollPane(tab);
            pan1.add(scrole, BorderLayout.CENTER);
     
            JPanel pan2 = new JPanel();
            pan2.setPreferredSize(new Dimension(700, 650));
     
            tp.addTab("Les Boites", pan1);
            tp.addTab("Documents ", pan2);
     
            frame.add(tp, BorderLayout.CENTER);
     
            java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            frame.pack();
            frame.setLocation((screenSize.width - frame.getWidth()) / 2, (screenSize.height - frame.getHeight()) / 2);
     
            frame.setVisible(true);
    En toute logique, tu devrais aussi ajouter un borderLayout à frame (comme à pan1, mais une autre instance). Je ne l'ai pas fait.

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

Discussions similaires

  1. Problème de taille avec une JTable
    Par Yann_69 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 02/07/2012, 11h10
  2. Taille d'une JTable
    Par Patrice Henrio dans le forum Composants
    Réponses: 1
    Dernier message: 28/04/2012, 13h22
  3. Actualiser la taille d'une Jtable
    Par Ceubex dans le forum Composants
    Réponses: 10
    Dernier message: 13/10/2010, 19h07
  4. [JScrollPane]Définir la taille d'une JTable
    Par leminipouce dans le forum Composants
    Réponses: 1
    Dernier message: 03/04/2007, 13h29
  5. [JTable] ajuster la taille d'une colonne à la taille du texte
    Par GETah dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 24/02/2005, 11h53

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