Bonjour à tous,
J'ai un petit souci avec une jTable
Mon problème :
Après la saisie d'une ligne entière, je clique sur un bouton pour valider. Cependant, le dernier champs que j'ai rempli n'est pas pris en compte (je récupère sa valeur dans une variable, dans mon cas, je ne recupère rien).
Le dernier champs ainsi saisi reste entouré en gras et c'est comme si je n'avais rien rentré dedans.
Je dois obligatoirement cliquer sur une autre case de mno jTable pour valider la valeur.
Comment peut-on y remedier, faire en sorte que la valeur soit prise en compte dès son entrée dans la cellule (ou avec l'utilisation d'une méthode au tout debut de ma fonction lancée par mon bouton)
Merci d'avance.
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 jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); String url= "jdbc:odbc:caution"; String user = "user"; String pass = "pass"; Connection connection = DriverManager.getConnection (url, user, pass); Statement instruction = connection.createStatement(); for (int j = 0; j <jTable1.getRowCount(); j++) { jTable1.getModel().getValueAt(j, 1); int n = instruction.executeUpdate("INSERT INTO lot(numlot,désignation )VALUES ('"+jTable1.getModel().getValueAt(j, 0)+"','"+jTable1.getModel().getValueAt(j, 1)+"' ) "); } }catch (Exception ex) { ex.printStackTrace() ; }} }); } return jButton4; }
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 private JTable getJTable1() { if (jTable1 == null) { tableModel = new DefaultTableModel(donnees, titreColonnes); jTable1 = new JTable(tableModel){ public boolean isCellEditable( int rowIndex, int vColIndex){ return true; } } ; jTable1.setBackground(Color.orange); jTable1.setIntercellSpacing(new Dimension(2, 1)); jTable1.setRowHeight(24); jTable1.setLocation(new Point(2, 0)); jTable1.setFont(new Font("Arial", Font.PLAIN, 14)); jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jTable1.getColumnModel().getColumn(0).setPreferredWidth(120); jTable1.getColumnModel().getColumn(1).setPreferredWidth(320); } return jTable1; }
Partager