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


Автор: MouseHouse 14.6.2006, 18:55
Как отобразить результат запроса в визуальном (swing) компоненте jTable ?
Спасибо. 

Автор: powerOn 14.6.2006, 19:50
Твоя проблема решается написанием собственной модели для таблицы, которой ты будешь передавать ResultSet, а она "сформирует" по нему таблицу. Либо значения из ResultSet-а загонять в таблицу с помощью метода setValueAt(). Первый способ конечно предпочтительнее.  

Автор: MouseHouse 14.6.2006, 20:29
А пример модели можно? Хоть как это примерно выглядит? 

Автор: powerOn 14.6.2006, 23:12
Конечно можно : http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#data 
Если ты раньше не работал с JTable то почитай сначало общую информацию о работе с этим компонентом и как он устроен. Потом переходи к моделям. Когда начнешь создавать свою модель и будут вопросы - задавай. 

Автор: MouseHouse 15.6.2006, 05:40
Спасибо пошел читать How to Use Tables  

Автор: Bulat 15.6.2006, 07:24
Цитата(MoonCat @ 14.6.2006,  19:50)
Твоя проблема решается написанием собственной модели для таблицы, которой ты будешь передавать ResultSet, а она "сформирует" по нему таблицу. Либо значения из ResultSet-а загонять в таблицу с помощью метода setValueAt(). Первый способ конечно предпочтительнее.

А явные преимущества первого способа перед вторым назвать можешь? Ибо я работаю с БД, но использую второй способ. 

Автор: powerOn 15.6.2006, 10:14
Цитата(Bulat @  15.6.2006,  08:24 Найти цитируемый пост)
явные преимущества первого способа перед вторым назвать можешь?

(Оба способа работоспособны - это факт.)

Преимушество первого - правильный подход к ООП проектированию. Модель отождествляет данные компонента, поэтому она должна их хранить и обрабатывать - это её основная функция. Модель знает о своей структуре лучше, чем внешние объекты, поэтому было бы логичным доверить ей обработку ResultSet-а для установки собственных значений.  Более того, есть в ООП такая фишка, называется высокое зацепление, она гласит примерно следующие: Класс не должен выполнять разнородные действия. Такие классы тяжело поддерживать и они мало пригодны для повторного использования. Так что лучше доверить подобные вещи модели,  а не каким-либо внешним установщикам, что сохранит её высокое зацепление. И потом, код становится логичнее и понятнее.  smile 

 
 

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