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 :

Orientation JTable Horizontale


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut Orientation JTable Horizontale
    Bonjour, j'aurais voulu savoir s'il était possible d'afficher les données autrements dans une JTable
    Je m'explique :

    Au lieu d'avoir une table du style :
    Jambon Fromage
    10 € 5 €
    16 € 4€

    Je voudrais avoir une table du style :
    Jambon 10 € 16€
    Fromage 5€ 4€

    Est possible facilement ?

  2. #2
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    salut,

    il y a un exemple ici, je viens de tester cela fonctionne

    http://www.esus.com/javaindex/j2se/jdk1.2/javaxswing/editableatomiccontrols/jtable/jtablerowheaders.html

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut
    Ok merci je vais regarder ca ...

    Mais apparement si j'efface les entêtes ca ne fonctionne plus ...

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut
    Ok ca marche bien

    Je met un petit exemple si quelqu'un a besoin :

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    import javax.swing.table.*; 
     
    /** 
     * @version 1.0 11/09/98 modified 30/01/06
     */ 
     
    class RowHeaderRenderer extends JLabel implements ListCellRenderer { 
     
      /**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    RowHeaderRenderer(JTable table) { 
        JTableHeader header = table.getTableHeader(); 
        setOpaque(true); 
        setBorder(UIManager.getBorder("TableHeader.cellBorder")); 
        setHorizontalAlignment(CENTER); 
        setForeground(header.getForeground()); 
        setBackground(header.getBackground()); 
        setFont(header.getFont()); 
      } 
     
      public Component getListCellRendererComponent( JList list, 
             Object value, int index, 
             boolean isSelected, boolean cellHasFocus) 
      { 
        setText((value == null) ? "" : value.toString()); 
        return this; 
      } 
    } 
     
    public class RowHeaderExample extends JFrame { 
     
      /**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    public RowHeaderExample(String [][] donnee, String [] colonne) { 
        super( "JTable Row Header" ); 
        setSize( 300, 150 ); 
     
        ListModel lm = new AbstractListModel() { 
          /**
                     * 
                     */
    		private static final long serialVersionUID = 1L;
    	String headers[] = {"Jambon","Fromage"}; 
          public int getSize() { return headers.length; } 
          public Object getElementAt(int index) { 
            return headers[index]; 
          } 
        }; 
     
        DefaultTableModel dm = new DefaultTableModel(donnee,colonne); 
        JTable table = new JTable(dm);
        table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); 
     
        JList rowHeader = new JList(lm);    
        rowHeader.setFixedCellWidth(50); 
     
        rowHeader.setFixedCellHeight(table.getRowHeight(0));
        rowHeader.setCellRenderer(new RowHeaderRenderer(table)); 
     
        JScrollPane scroll = new JScrollPane( table ); 
        scroll.setRowHeaderView(rowHeader); 
        table.setTableHeader(null);
        getContentPane().add(scroll, BorderLayout.CENTER); 
      } 
     
      public static void main(String[] args) { 
    	String [][] donnee1 = { {"10 €","16 €"}, {"5 €","4 €"}};
    	String [] colonne1={"",""};
    	String [][] donnee2 = { {"10 €","5 €"}, {"16 €","4 €"}};
    	String [] colonne2={"Jambon","Fromage"};
        RowHeaderExample frame = new RowHeaderExample(donnee1,colonne1);
     
        DefaultTableModel dm = new DefaultTableModel(donnee2,colonne2); 
        JTable table = new JTable(dm);
        JScrollPane scroll = new JScrollPane( table );
        Frame frame2 =new Frame("JTable Normal");
        frame2.add(scroll);
        frame2.setSize(300,150);
     
        frame.addWindowListener( new WindowAdapter() { 
          public void windowClosing( WindowEvent e ) { 
       System.exit(0); 
          } 
        });
        frame2.addWindowListener( new WindowAdapter() { 
            public void windowClosing( WindowEvent e ) { 
         System.exit(0); 
            } 
          }); 
        frame.setVisible(true);
        frame2.setVisible(true);
      } 
    }
    Encore merci

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

Discussions similaires

  1. StackPanel à orientation horizontale : ajustement du contenu à la taille du panel
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 23/01/2009, 19h03
  2. JScrollPane + JTable = Défilement horizontale impossible
    Par lordeikichi dans le forum Composants
    Réponses: 1
    Dernier message: 23/01/2009, 17h17
  3. JTable et JScrollBar horizontale
    Par sricard dans le forum Composants
    Réponses: 1
    Dernier message: 30/08/2006, 08h14
  4. JScollPane et JTable : absence de barre horizontale
    Par iohack dans le forum Composants
    Réponses: 2
    Dernier message: 22/03/2006, 11h25
  5. Réponses: 9
    Dernier message: 12/08/2002, 07h38

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