Как правильно вработать с Table из класса в котором реализован GUI Swing - Java
Формулировка задачи:
Господа, прошу прощения за возможно глупый вопрос начинающего
У меня возникла следующая проблема.
Есть класс в котором реализован GUI с использованием Builder Swing, встроенным в IDE NetBeans.
Мне необходимо использовать свойства объекта JTable, из другово класса.
Присутвует еще один класс, который будет заполнять таблицу построчно и соответвенно будет менять свойство JTable.
Как то не понятно как прикрутить Set-ер к объекты данному.
Если описал не правильно, в связи с своей не опытностью, то прошу вопросы в студию, я постараюсь объяснить
Или еще короче, Вырезка не большая
Это инициализация объекта jTable:
// Код вырезан так как не имеет отношения к проблеме
Это код, где как раз реализовано векторное заполнение таблицы, оно пока что находиться в этом же классе где и реализован интерфес:
Как можно использовать свойсво объекта jTable из другово класса?
Прошу не справшивать зачем мне это ибо нужно, я рисую свои собственные грабли.
Заранее спасибо за дельный совет.
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String []{
"ID", "Case No.", "Action Type", "Date Action"
}private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Connection conn = null;
Statement stmt = null;
PreparedStatement ps = null;
SqlQwery sq = new SqlQwery();
ResultSet rs = sq.SqlSelect();
try{
ResultSetMetaData md = rs.getMetaData();
int numColumns = rs.getMetaData().getColumnCount();
Vector column = new Vector();
for (int i = 0; i < numColumns; i++)
{
column.add(jTable1.getColumnName(i));
//column.add(rs.getMetaData().getColumnName(i));
}
Vector data = new Vector();
while (rs.next())
{
Vector row = new Vector();
for (int i = 1; i <=numColumns; i++)
{
row.add(rs.getString(i));
}
data.add(row);
}
jTable1.setModel(new javax.swing.table.DefaultTableModel(data, column));
}catch(Exception e){
System.err.println("Update not complete");
e.printStackTrace();
}Решение задачи: «Как правильно вработать с Table из класса в котором реализован GUI Swing»
textual
Листинг программы
public DefaultTableModel SqlSelect()
{
DefaultTableModel dataModel = new DefaultTableModel();
try{
Class.forName(urlSQ);
conn = DriverManager.getConnection(connURL);
PreparedStatement ps = null;
stmt = conn.createStatement();
rs = stmt.executeQuery(SQLse);
int numColumns = rs.getMetaData().getColumnCount();
SwingConnection swingConn = new SwingConnection();
Vector column = new Vector();
for (int i = 0; i < numColumns; i++)
{
String confTable1 = swingConn.jTable1.getColumnName(i);
column.add(confTable1);
}
Vector data = new Vector();
while (rs.next())
{
Vector row = new Vector();
for (int i = 1; i <=numColumns; i++)
{
row.add(rs.getString(i));
}
data.add(row);
}
dataModel.setDataVector(data, column);
}catch(Exception e){
System.err.println("Update not complete");
e.printStackTrace();
}
return dataModel;
}