Как правильно вработать с Table из класса в котором реализован GUI Swing - Java

Узнай цену своей работы

Формулировка задачи:

Господа, прошу прощения за возможно глупый вопрос начинающего У меня возникла следующая проблема. Есть класс в котором реализован GUI с использованием Builder Swing, встроенным в IDE NetBeans. Мне необходимо использовать свойства объекта JTable, из другово класса. Присутвует еще один класс, который будет заполнять таблицу построчно и соответвенно будет менять свойство JTable. Как то не понятно как прикрутить Set-ер к объекты данному. Если описал не правильно, в связи с своей не опытностью, то прошу вопросы в студию, я постараюсь объяснить Или еще короче, Вырезка не большая Это инициализация объекта 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();
            }
Как можно использовать свойсво объекта jTable из другово класса? Прошу не справшивать зачем мне это ибо нужно, я рисую свои собственные грабли. Заранее спасибо за дельный совет.

Решение задачи: «Как правильно вработать с 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;
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы