|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Mar 2015
Città: Aversa
Messaggi: 7
|
[JAVA]CellEditorListener
Salve a tutti!
Sto usando una JTable per visualizzare i risultati delle query relativi ad un mio database. Ciò che voglio fare adesso è modificare il database direttamente dalla JTable, ma non riesco a capire come settare il CellEditor Listener: all'avvio del programma ottengo "java.lang.NullPointerException". Che cosa sbaglio? Codice:
private JTable tableOperai;
tableOperai = new JTable();
tableOperai.getCellEditor().addCellEditorListener(new CellEditorListener(){
@Override
public void editingCanceled(ChangeEvent arg0) {}
@Override
public void editingStopped(ChangeEvent arg0) {
String newValue = tableOperai.getValueAt(tableOperai.getSelectedRow(), tableOperai.getSelectedColumn()).toString();
//operazioni di scrittura database
}
});
Ultima modifica di Gilmour93 : 10-09-2015 alle 17:18. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
se ti dà un NPE è perchè probabilmente non è inizializzato l'oggetto sul quale stai facendo le operazioni. se sono le celle della tabella forse non sono state ancora "costruite"!!!
__________________
My gaming placement |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Mar 2015
Città: Aversa
Messaggi: 7
|
Grazie della risposta!
Ma essendo un CellEditorListener non dovrebbe essere chiamato in causa solo dopo aver editato una cella? Ho provato a spostare il CellEditorListener dopo l'istruzione che mi crea la tabella, in questo modo: Codice:
//...
tableOperai.setModel(DbUtils.resultSetToTableModel(rs));
//...
tableOperai.getCellEditor().addCellEditorListener(new CellEditorListener(){
@Override
public void editingCanceled(ChangeEvent arg0) {}
@Override
public void editingStopped(ChangeEvent arg0) {
String newValue = tableOperai.getValueAt(tableOperai.getSelectedRow(), tableOperai.getSelectedColumn()).toString();
//Operazioni di scrittura nel DB
}
});
Ultima modifica di Gilmour93 : 11-09-2015 alle 11:03. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Mar 2015
Città: Aversa
Messaggi: 7
|
Codice:
java.lang.NullPointerException at OperaiInfo.initialize(OperaiInfo.java:646) at OperaiInfo.<init>(OperaiInfo.java:334) at OperaiInfo$1.run(OperaiInfo.java:321) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Codice:
tableOperai.getCellEditor().addCellEditorListener(new CellEditorListener(){
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Se puoi vai in debug e vedi quale oggetto ti dà NPE
__________________
My gaming placement |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:56.




















