questa è una classe che dovrebbe rilasciare le celle necessari e a riempire una jTable solo che mi da qualche probla.
codice:
import java.awt.*; <---RIGA 3
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import java.sql.*;
import java.util.*;
class QueryTableModel
extends AbstractTableModel {
String[] columnNames;
ArrayList riga = new ArrayList();
String[] cella;
db db = new db();
public QueryTableModel(String query) {
int rowCount;
db.connection();
try {
ResultSet rs = db.query(query);
ResultSetMetaData rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();
columnNames = new String[columnsNumber];
for (int i = 0; i < columnsNumber; i++) {
columnNames[i] = rsmd.getColumnName(i + 1);
}
while (rs.next()) { <--RIGA 28 (qua si inceppa)
for (int i = 0; i < columnNames.length; i++) {
cella[i] = rs.getString(i);
}
riga.add(cella);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
db.closedb();
}
}
public int getRowCount() {
return riga.size();
}
public int getColumnCount() {
return columnNames.length;
}
public Object getValueAt(int r, int c) {
cella = (String[]) (riga.get(r));
System.out.println(cella[c]);
return cella[c];
}
public String getColumnName(int c) {
return columnNames[c];
}
}
eccori:
org.postgresql.util.PSQLException: Connection is closed. Operation is not permitted.
at org.postgresql.jdbc1.AbstractJdbc1ResultSet.next(A bstractJdbc1ResultSet.java:138)
at iper.QueryTableModel.<init>(QueryTableModel.java:2 8)
at iper.trova_dialog.trova_ass_Button_actionPerformed (trova_dialog.java:566)
at iper.trova_dialog_trova_ass_Button_actionAdapter.a ctionPerformed(trova_dialog.java:608)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.act ionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.jav a:5100)
at java.awt.Component.processEvent(Component.java:489 7)
at java.awt.Container.processEvent(Container.java:156 9)
at java.awt.Component.dispatchEventImpl(Component.jav a:3615)
at java.awt.Container.dispatchEventImpl(Container.jav a:1627)
at java.awt.Component.dispatchEvent(Component.java:34 77)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3128)
at java.awt.Container.dispatchEventImpl(Container.jav a:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606 )
at java.awt.Component.dispatchEvent(Component.java:34 77)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 456)
at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:141)
at java.awt.Dialog$1.run(Dialog.java:540)
at java.awt.Dialog.show(Dialog.java:561)
at iper.guest_frame.trova_dialog_actionPerformed(gues t_frame.java:89)
at iper.guest_frame_trova_button_actionAdapter.action Performed(guest_frame.java:111)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.act ionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.jav a:5100)
at java.awt.Component.processEvent(Component.java:489 7)
at java.awt.Container.processEvent(Container.java:156 9)
at java.awt.Component.dispatchEventImpl(Component.jav a:3615)
at java.awt.Container.dispatchEventImpl(Container.jav a:1627)
at java.awt.Component.dispatchEvent(Component.java:34 77)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3128)
at java.awt.Container.dispatchEventImpl(Container.jav a:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606 )
at java.awt.Component.dispatchEvent(Component.java:34 77)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 456)
at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:100)
non riesco a capire dove sbaglio