Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Заполнение JTable данными из БД


Автор: НовыйСтиль 5.1.2011, 01:15
есть таблица 
Код

JTable jTableSprBS = new JTable(dataTable, columnNames);


надо заполнить dataTable из базы, как то так, что бы она потом втыркнулась в таблицу:

Код

Object[] [] dataTable;
conn = Connect(); //функция которая возвращает конект;
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM Test");
int i=0;
while (rs.next())
{
       dataTable[i][0] = rs.getString(1);
        dataTable[i][1] = rs.getString(2);
        i++;
}
conn.close();


надо вот что то похожее сделать.
может немного не по этой теме, а по БД.

Автор: mgarin 7.1.2011, 19:40
Предположим, у Вас есть следующая таблица:
Код
        JTable table = new JTable ( );
        table.setModel ( new DefaultTableModel()
        {
            public int getColumnCount ()
            {
                return super.getColumnCount ();
            }

            public String getColumnName ( int column )
            {
                return super.getColumnName ( column );
            }

            public int getRowCount ()
            {
                return super.getRowCount ();
            }

            public Object getValueAt ( int row, int column )
            {
                return super.getValueAt ( row, column );
            }
        }  );


Данные таблица берет из модели.
Соответственно при загрузке новых данных из базы Вы можете поменять модель таблицы или же просто обновить в имеющейся данные.
2ое конечно же лучше и быстрее (главное после обновления данных модели надо не забыть обновить таблицу).

По минимуму - Вам нужно переобределить только эти 4 метода (приведенные выше) для того, чтобы таблица корректно отображала данные.

P.S. Надеюсь, не нужно объяснять для чего эти 4 метода?)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)