Как правильно вработать с 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д