Salut, je veux faire un tableau de 5 collones et 5 rangées, je veux y mettre des jTextField:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    private Object datasJT1[][]=new Object[5][1000];
    private Object titresJT1[]={"REF", "Description", "Prix unitaire", "Quantité", "Total"};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
        for(int i=0;i<5;i++) {
            datasJT1[0][i]=new JTextField();
            datasJT1[1][i]=new JTextField();
            datasJT1[2][i]=new JTextField();
            datasJT1[3][i]=new JTextField();
            datasJT1[4][i]=new JTextField();
        }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
        jTable1.setModel(new ZModel(datasJT1, titresJT1));
        jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);
        jScrollPane1.setViewportView(jTable1);
        TableColumn colonne=jTable1.getColumnModel().getColumn(0);
        colonne.setPreferredWidth(50);
        colonne=jTable1.getColumnModel().getColumn(1);
        colonne.setPreferredWidth(200);
        colonne=jTable1.getColumnModel().getColumn(2);
        colonne.setPreferredWidth(50);
        colonne=jTable1.getColumnModel().getColumn(3);
        colonne.setPreferredWidth(50);
        colonne=jTable1.getColumnModel().getColumn(4);
        colonne.setPreferredWidth(50);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
jTable1.setDefaultRenderer(JComponent.class, new TableComponent());
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
        class ZModel extends AbstractTableModel {
        private Object data[][];
        private Object title[];
 
        private ZModel(Object[][] datasJT1, Object[] titresJT1) {
            this.data=datasJT1;
            this.title=titresJT1;
        }
 
        public int getRowCount() {
            return this.data.length;
        }
 
        public int getColumnCount() {
            return this.title.length;
        }
 
        public Object getValueAt(int row, int col) {
            return this.data[row][col];
        }
        @Override
        public String getColumnName(int col) {
        return this.title[col].toString();
            }
 
        }
public class TableComponent extends DefaultTableCellRenderer {
 
        @Override
	public Component getTableCellRendererComponent(JTable table,
			Object value, boolean isSelected, boolean hasFocus, int row,
			int column) {
            super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
		//Si la valeur de la cellule est un JButton, on transtype notre valeur
		if (value instanceof JTextField){
			return (JTextField) value;
		}
		else
			return this;
	}
}
Le résultat c'est que j'ai la description des objets (javax.swing.jtextfield ...)
plutôt que les text fields.
J'ai du me planter quelque part mais je ne vois pas ou
Merci