Le Vendredi 20 Septembre 2002 15:22, Zeljko VELAJA a �crit :

> J'ai un JTable dans un JScrollPane :
>
> JTable table = new JTable();
> JScrollPane scroll = new JScrollPane();
>
> ainsi qu'un mod�le � deux colonnes, dont la premi�re n'est pas
> redimensionnable. Mon probl�me est que mon scroll appara�t bien sur la
> barre verticale, mais pas sur la barre horizontale, ce qui emp�che le
> visionnement de certaines donn�es un peu larges. Existe-t-il une solution ?

Voici une petite appli qui pr�sente une JTable dont la premi�re colonne est 
de taille fixe, dont la seconde est tr�s grande, et o� l'on voit un ascenceur 
horizontal. Opevissehelp.

==>

/*
 * SeurTable.java
 *
 * Created on 21 septembre 2002, 09:59
 */

import javax.swing.*;
import javax.swing.table.*;

/**
 *
 * @author  herve
 */
public class SeurTable extends javax.swing.JFrame
{
  private JTable table;
  private javax.swing.JScrollPane jScrollPane1;
  
  /** Creates new form SeurTable */
  public SeurTable()
  {
    initComponents();
    table = new javax.swing.JTable();
    table.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][]
      {
        {"Coucou !", "Qui est l� ?"},
        {null, null},
        {null, null},
        {null, null}
      },
      new String []
      {
        "fixe", "autre"
      }
    ));
    
    // *** C'est ici que �a se passe ! ***
    
    // Pour la taille des colonnes, je me d�brouille tout seul
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    
    // Je fixe la taille de la premi�re
    TableColumn colonne1 = table.getColumnModel().getColumn(0);
    colonne1.setPreferredWidth(100);
    colonne1.setMinWidth(100);
    colonne1.setMaxWidth(100);
    
    // Pour la seconde je la fais longue
    TableColumn colonne2 = table.getColumnModel().getColumn(1);
    colonne2.setPreferredWidth(1000);

    // je mets tout dans un scrollpane...
    jScrollPane1.setViewportView(table);

    // Voila, c'est tout ! Le reste, c'est de la lit�rature...

    pack();
  }
  
  private void initComponents()
  {
    jScrollPane1 = new javax.swing.JScrollPane();

    addWindowListener(new java.awt.event.WindowAdapter()
    {
      public void windowClosing(java.awt.event.WindowEvent evt)
      {
        exitForm(evt);
      }
    });

    getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

    pack();
  }
  
  private void exitForm(java.awt.event.WindowEvent evt)
  {
    System.exit(0);
  }
  
  /**
   * @param args the command line arguments
   */
  public static void main(String args[])
  {
    new SeurTable().show();
  }
  
}

<==

A+.


-- 
SARL diaam informatique - 04 50 77 12 60
Ingenierie, d�veloppements de syst�mes d'information
http://www.diaam-informatique.com

Répondre à