import java.awt.event.KeyListener;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Cy.Co.Labs
*/
public class LoadBigDataToTable implements KeyListener{
private final DefaultTableModel tableModel = new DefaultTableModel();
////////////////////////////////////////////////
private static LoadBigDataToTable lbdtt;
private LoadBigDataToTable() {
}
public static LoadBigDataToTable getLoadBigDataToTable() {
System.gc();
if (lbdtt == null) {
lbdtt = new LoadBigDataToTable();
}
return lbdtt;
}
////////////////////////////////////////////////
public DefaultTableModel loadData(ResultSet rs) {
// LOG.info("START loadData method");
System.out.println("START loadData method");
try {
//ResultSet rs = jdbc.getdata("SELECT item.id,item.upc,item.name,item.name2,item_price.unit_value,item_price.unit_price,discount.amount FROM item LEFT JOIN item_price ON item.id=item_price.item_id LEFT JOIN discount ON item.id=discount.item_id");
ResultSetMetaData metaData = rs.getMetaData();
// Names of columns
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
columnNames.add(metaData.getColumnName(i));
}
// Data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int i = 1; i <= columnCount; i++) {
vector.add(rs.getObject(i));
}
data.add(vector);
}
tableModel.setDataVector(data, columnNames);
} catch (Exception e) {
e.printStackTrace();
}
//button.setEnabled(true);
System.out.println("END loadData method");
return tableModel;
}
@Override
public void keyTyped(KeyEvent e) {
System.out.println("key t");
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println("key p");
}
@Override
public void keyReleased(KeyEvent e) {
System.out.println("key r");
}
}
To Use:
jTable1.setModel(LoadBigDataToTable.getLoadBigDataToTable().loadData(ResultSets.getResultSets().getRs1()));
No comments:
Post a Comment