Au secours!!!! merci de votre aide, je galere depuis deux semaines... pour regler un petit probleme.
mon objectif est de rafraichire mon JTable apres avoir selectionné un element d'un comboBox. (meme si ça genere pas la requette, les données son saisie manuelement)
voici mon model:
voici ma class main:
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 import java.awt.Color; import java.util.Vector; import javax.swing.table.AbstractTableModel; import com.ibm.jvm.util.html.Row; public class TestModel extends AbstractTableModel { private final String[] columnNames = {"**AFC**", "**Nom**", "**Prenom**"}; private final Object[][] columnData; //public TestModel(int jComboBox) { public TestModel() { super(); columnData = new Object[][]{ {"1", "Johnathan", "Sykes"}, {"12", "Nicolas", "Van de Kampf"}, {"13", "Damien", "Cuthbert"}, {"14", "Corinne", "Valance"}, {"15", "Emilie", "Schrödinger"}, {"16", "Delphine", "Duke"}, {"17", "Eric", "Trump"}, }; } public Object getValueAt(int rowIndex, int columnIndex) { return columnData[rowIndex][columnIndex]; } public int getColumnCount() { return columnNames.length; } public int getRowCount() { return columnData.length; } }
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
103 import javax.swing.JFrame; import javax.swing.*; import javax.swing.table.DefaultTableModel; public class Test extends JFrame { private javax.swing.JPanel jContentPane = null; private javax.swing.JComboBox jComboBox = null; private javax.swing.JScrollPane jScrollPane = null; private javax.swing.JTable jTable = null; String[] columnNames = {"AFC--", "Nom--", "Prenom--"}; Object[][] columnData; public static void main(String[] args) { Test test = new Test(); } /** * This is the default constructor */ public Test() { super(); initialize(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } private void initialize() { this.setSize(300, 149); this.setContentPane(getJContentPane()); } private javax.swing.JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new javax.swing.JPanel(); jContentPane.setLayout(new java.awt.BorderLayout()); jContentPane.add(getJComboBox(), java.awt.BorderLayout.NORTH); jContentPane.add(getJScrollPane(), java.awt.BorderLayout.CENTER); } return jContentPane; } private javax.swing.JComboBox getJComboBox() { String[] comboList = {"Johnathan","Damien","Corinne","Emilie","Delphine","Eric"}; if(jComboBox == null) { jComboBox = new javax.swing.JComboBox(comboList); jComboBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { getTableData(); DefaultTableModel model = new DefaultTableModel(columnData,columnNames); JTable jTable = new JTable(model); jScrollPane = new javax.swing.JScrollPane(jTable); jScrollPane.setViewportView(jTable); getContentPane().add(jScrollPane); repaint(); System.out.println("itemStateChanged()" + jComboBox.getSelectedItem()); } }); } return jComboBox; } private javax.swing.JTable getJTable() { if(jTable == null) { jTable = new JTable(); jTable = new JTable(new TestModel()); }else{ jTable = new JTable(columnData,columnNames); } return jTable; } /** * This method initializes jScrollPane * * @return javax.swing.JScrollPane */ private javax.swing.JScrollPane getJScrollPane() { if(jScrollPane == null) { jScrollPane = new javax.swing.JScrollPane(); jScrollPane.setViewportView(getJTable()); } return jScrollPane; } public void getTableData(){ columnData = new Object[][]{ {"1", "Johnathan", "Sykes"}, {"12", "Nicolas", "Van de Kampf"}, {"13", "Damien", "Cuthbert"}, }; } } // @jve:visual-info decl-index=0 visual-constraint="20,8"
Partager