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

Agents de placement/Fenêtres Java Discussion :

[JTable] Problème de taille.


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Par défaut [JTable] Problème de taille.
    Bonjour, voici mon problème : je crée un JScrollPane, puis j'y ajoute une JTable, mais la place qu'elle occupe ne me satisfait pas : elle occupe trop de place en hauteur :



    Comment faire pour supprimer cet espace vide ?

  2. #2
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    salut, peux tu poster le code où tu crée la table et l intègre au ScrollPane ?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Par défaut
    Alors pour le code ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      public Fenetre(final String[] columnHeaders, final String[] rowHeaders, final int[][] data) {
    	    super("Row Header Example");
    	    setSize(800, 600);
     
    	    MyModel myModel = new MyModel(columnHeaders, data);
    	    final JTable table = new JTable(myModel);
     
    	    final JScrollPane scroll = new JScrollPane(table);
                getContentPane().add(scroll, BorderLayout.CENTER);
    	  }
    Et ma classe MyModel des fois que cela soit nécessaire :

    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
    import javax.swing.table.AbstractTableModel;
     
    public class MyModel extends AbstractTableModel {
     
    	private String[] columnHeader;
    	private int[][] rows;
     
    	public MyModel() {
    		columnHeader = new String[0];
    		rows = new int[0][0];
    	}
     
    	public MyModel(final String[] headers, final int[][] data) {
    		columnHeader = headers;
    		rows = data;
    	}
     
    	public Object getValueAt(final int arg0, final int arg1) {
    		return rows[arg0][arg1];
    	}
     
    	public void setHeader(final String[] newHeaders) {
    		columnHeader = newHeaders;
    	}
     
    	public int getColumnCount() {
    		return this.columnHeader.length;
    	}
     
    	public String getColumnName(final int column) {
    		return this.columnHeader[column];
    	}
     
    	public int getRowCount() {
    		return this.rows.length;
    	}
     
    	public boolean isCellEditable(final int row, final int column) {
    		return true;
    	}
     
    	public void setValueAt(final Object aValue, final int rowIndex, final int columnIndex) {
    		rows[rowIndex][columnIndex] = Integer.valueOf(aValue.toString());
    	}
     
     
    	//Fonction qui va s'occupper de remettre à jour tout mon tableau et qui va mettre
    	//à jour aussi l'affichage
    	public void setData(final int[][] newData) {
    		rows = newData;
    		super.fireTableDataChanged();
    	}
    }

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Cela ne vient pas de la JScrollPane, mais du layout utilisé. La Frame donne un certain espace au JScrollPane. Le JScrollPane doit tout utiliser, mais il ne contient qu'une JTable qui n'est pas extensible lorsqu'elle ne prend pas assez de place. Donc il y a un espace vide après la JTable.
    Tu peux tenter de mettre le JScrollPane dans un BoxLayout vertical, et de mettre une "glue" verticale juste après l'ajout du JScrollPane.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

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. JTable & JScrollPane : problèmes de taille
    Par xixi31 dans le forum Composants
    Réponses: 1
    Dernier message: 22/11/2006, 12h02
  3. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07
  4. [swing][JComboBox]Problème de taille
    Par n!co dans le forum Composants
    Réponses: 8
    Dernier message: 06/03/2004, 10h53
  5. [langage] Problème de taille de fichier à mettre dans
    Par And_the_problem_is dans le forum Langage
    Réponses: 10
    Dernier message: 13/08/2002, 09h41

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