| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 | ||
А явные преимущества первого способа перед вторым назвать можешь? Ибо я работаю с БД, но использую второй способ. |
| Автор: powerOn 15.6.2006, 10:14 |
(Оба способа работоспособны - это факт.) Преимушество первого - правильный подход к ООП проектированию. Модель отождествляет данные компонента, поэтому она должна их хранить и обрабатывать - это её основная функция. Модель знает о своей структуре лучше, чем внешние объекты, поэтому было бы логичным доверить ей обработку ResultSet-а для установки собственных значений. Более того, есть в ООП такая фишка, называется высокое зацепление, она гласит примерно следующие: Класс не должен выполнять разнородные действия. Такие классы тяжело поддерживать и они мало пригодны для повторного использования. Так что лучше доверить подобные вещи модели, а не каким-либо внешним установщикам, что сохранит её высокое зацепление. И потом, код становится логичнее и понятнее. |