|
|
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
День добрый. Пишу программу, типа справочник. В программе присутствуют 2 формы (главная и поиска), tablemodel и connection. Так вот: нужна помощь в том, как правильно передать результаты поиска в главную форму. Как говорится - чувствую, что ответ где-то рядом, а понять, где ошибка - не могу. ЗЫ. Яву только начал изучать, так что просьба сильно не пинать. До этого писал проги на Дельфях. Понадобилась кроссплатформенность, выбор пал на Яву. ЗЗЫ. Исходники во вложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 07:23 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamkкак правильно передать результаты поиска в главную форму В дельфях как делал? Например, главнаяФорма.Держи(id). И тут можно так же. ... Не все будут скачивать твой zip. Старайся короткий код прямо сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 08:40 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Petro123, в Дэльфях делал так: в форме поиска sql-запрос через tquery (например), в модуле datamodule лежат компоненты source1-2, 1-й завязан на таблицу, 2-й на запрос. После отработки запроса гриду прописывал свойство datasource на source2, потом назад. В JTable такого нет. Надо как-то крутить через tablemodel. А вот как - я догнать не могу. Вот код класса frmFind: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 14:41 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Это код класса TableModel: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 14:43 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
А это код класса frmMain: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 14:44 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Код класса Connection: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. IDE - Eclipse Oxygen.2 Release 4.7.2 December 2017. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 14:48 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamkДэльфях делал так:я с дельфей сразу на javaFX. Жди тех кто свинг знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 15:03 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Petro123duponamkДэльфях делал так:я с дельфей сразу на javaFX. Жди тех кто свинг знает. Подождем, куда деваться-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 15:42 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamk, Swing тут не при чем. У вас в коде модель предметной области, пользовательский интерфейс и работа с базой данных намешаны в одну кучу. Разбираться в этой лапше не очень-то хочется. Я бы так же порекомендовал перестать называть формами что попало. Набор полей для ввода это - форма. А таблица это не форма. И панелька с таблицей это тоже не форма. Итак. Имеем форму ввода. 1. Пользователь заполняет поля. Нажимает кнопку. - лучше использовать Action вместо ActionListener. Экшны можно привязывать к разнам контролам. 2. Содержимое полей копируется в объект модели предметной области. - в идеале это делается через биндинг, как в JavaFX. Но свинг так не умеет. Только с дополнительными библиотеками, которые давно заброшены и работают только в простых случаях. 3. По объекту строится запрос к БД. - лучше использовать ORM, или хоть какую-то библиотеку, а не голый JDBC API 4. Исполняется запрос, вычитывается результат. - результат есть смысл лимитировать. Я как-то написал динамический TableModel для ResultSet любой длины. Но по факту клиент сказал - нафиг не надо. Пользователю 20-30 записией достаточно. 5. Результат копируется в объект модели предметной области. - тут надо на архитектуру смотреть. Можно копировать, можно оборачивать ResultSet. 6. Таблица, которая умеет отображать результат - обновляется. - AbstractTableModel.fileУМеняПоменялисьСтроки() - будет намного эффективнее чем addData, если нужно обновить всю таблицу. Где именно в этом всем у вас затык вы уточнить не хотите. Стандартная сложность тут с обновлением TableModel. Но у вас, похоже дело не в ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2018, 19:12 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Blazkowiczduponamk, Swing тут не при чем. Я и не говорил, что виноват swing. Дело, судя по всему в tablemodel, в который необходимо передать строку запроса из поиска, чтобы тот (или та), в свою очередь, обработал запрос и подсунул результат таблице в главном окне. А вот как, собсно, это реализовать, я и встал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 06:30 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Blazkowiczduponamk, 6. Таблица, которая умеет отображать результат - обновляется. - AbstractTableModel.fileУМеняПоменялисьСтроки() - будет намного эффективнее чем addData, если нужно обновить всю таблицу. Как я уже писал в первом посте - яву я только начал изучать, и чем заменить метод addData, не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 06:35 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamkКак я уже писал в первом посте - яву я только начал изучать, и чем заменить метод addData, не знаю.ну не по памяти же вы писали 500 строк.. Дайте ссыль на пример демку по Модели которая у вас почему то не выходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 07:25 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamkКак я уже писал в первом посте - яву я только начал изучать, и чем заменить метод addData, не знаю. То есть вы вывалили сюда кучу чужого кода и даже не воспользовались отладчиком чтобы найти конкретное место проблемы? Или вы хотите сказать, что addData вызывается с ожидаемыми данными, но данные не появляются в таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 10:52 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Petro123duponamkКак я уже писал в первом посте - яву я только начал изучать, и чем заменить метод addData, не знаю.ну не по памяти же вы писали 500 строк.. Дайте ссыль на пример демку по Модели которая у вас почему то не выходит. Нет, конечно, не по памяти. За основу брал видео-уроки 13-14 канала "Образование онлайн": [spoiler] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 17:45 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Код я брал из поста выше и старался не тупо его набрать, а заодно и понять, что к чему и откуда. Не хотите помочь - зачем писать что-либо. ЗЫ. Не хамите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 17:48 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamkКод я брал из поста выше и старался не тупо его набрать, а заодно и понять, что к чему и откуда. Не хотите помочь - зачем писать что-либо. Ну, тут не так много отвечающих, так что предлагаю потерпеть. duponamkЗЫ. Не хамите. Ну, это не я тут посреди форума навалил кучу. Кода. Если вы хотите помощи, то тоже со своей стороны приложите усилия, уточните проблему и сформулируйте вопрос. Вы даже на наводящие вопросы не пытаетесь ответить. А лично мне тяжело понять. - То ли вы не знаете как передать запрос из формы ввода в таблицу - То ли вы не знаете как сказать таблице выполнить запрос - То ли вы выполняете запрос, получаете данные, но они не отображаются в таблице Уточнить конкретную проблему очень просто если использовать отладчик. Я могу разобраться в этом говнокоде и найти проблему, но для чего мне тратить на это время, если вы сами не пытаетсь хоть что либо конкретизировать, а сразу включаете обидку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 17:58 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamkДело, судя по всему в tablemodel, в который необходимо передать строку запроса из поиска, чтобы тот (или та), в свою очередь, обработал запрос и подсунул результат таблице в главном окне. придется тебе разбить вопрос на 3 штуки. И зубы не показывай. Я злых профи в java не видел. Не задерживаются). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 19:20 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Отвечаю сразу обоим: есть главное окно с таблицей, в которой при запуске отображаются данные из базы. Есть форма поиска (все-таки форма), в которой составляется запрос в зависимости от того или иного выбора пользователя. Составляется правильно, я проверял. Так вот, необходимо, чтобы данный запрос "ушел" в tablemodel, был там обработан, и, как следствие, отобразил в таблице результат поиска. Этого не происходит. java.lang.IllegalArgumentException: cannot add to layout: constraint must be a string (or null) at java.awt.BorderLayout.addLayoutComponent(BorderLayout.java:426) at java.awt.Container.addImpl(Container.java:1127) at java.awt.Container.add(Container.java:973) at postidx.frmMain.<init>(frmMain.java:162) at postidx.frmMain$1.run(frmMain.java:48) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at postidx.ConnectionDb.resultSetQuery(ConnectionDb.java:85) at postidx.postidxTableModel.addData(postidxTableModel.java:76) at postidx.frmFind$3.actionPerformed(frmFind.java:218) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Если я правильно понимаю текст под спойлером, то в аргументах пустая строка, поэтому и не выходит то, что надо. Хотя на стадии составления запроса строка была далеко не пустой. В связи с этим и прошу помощи: в модуле frmFind.java идет составление запроса и дальнейшее подсовывание его tablemodule. На выходе получаем нуль. А почему так и что неправильно сделано - не понимаю. Насчет "говнокода" - уж извините, какой есть. Изначально да, был не мой, был взят как основа для написания и доработан в дальнейшем так, как было нужно мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 06:03 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamk, Как раз по теме, как это решено на острие прогресса. В javaFX это решено так: Коллекция данных биндится к таблице. При изменении данных в коллекции Автоматически табличка показывает изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 07:28 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamk Так вот, необходимо, чтобы данный запрос "ушел" в tablemodel, был там обработан, и, как следствие, отобразил в таблице результат поиска. Этого не происходит. Еще раз. Это 3 разных шага в алгоритме. Вы должны использовать отладчик, чтобы точно знать какой именно из трех не работает. Вы же просите перепроверить все три, не заботясь о времени тех кто будет читать ваш код. Это немного не вежливо. duponamkЕсли я правильно понимаю текст под спойлером, то в аргументах пустая строка, поэтому и не выходит то, что надо. Хотя на стадии составления запроса строка была далеко не пустой. То есть вы вообще не те вопросы задаете. Ваши вопросы должны были быть такими - что такое Exception? - вот у меня два исключения, что они обозначают - научите анализировать исключения Итак, первый шаг. Выделяем основное: тип исключения, текст ошибки и номер строки вашего кода: Код: java 1. 2. 3. 4. 5. Второй шаг. Смотрим в IDE frmMain.java:162 - не правильно добавляется контрол ConnectionDb.java:85 - вызывается метод по ссылке значение которой null, а должен быть объект duponamkВ связи с этим и прошу помощи: в модуле frmFind.java идет составление запроса и дальнейшее подсовывание его tablemodule. На выходе получаем нуль. А почему так и что неправильно сделано - не понимаю. Вы же инженер, а не гуманитарий. Почему вы пытаетесь общими терминами описать конктретную проблему? Начните с изучения NPE и исключений в общем https://www.google.com/search?q=Java null pointer exception explained https://docs.oracle.com/javase/tutorial/essential/exceptions/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 10:12 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Нда. Если Blazkowicz прав, то вам должно быть стыдно, т.к. в дельфях исключения это самая простая часть работы. Все дельфисты в них как рыба в воде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 10:56 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Второй шаг. Смотрим в IDE frmMain.java:162 - не правильно добавляется контрол ConnectionDb.java:85 - вызывается метод по ссылке значение которой null, а должен быть объект Интересно получается: в модуле frmMain строке 162 соответствует одна из строк функции, код которой полностью закомментирован и в исполнении программы не участвует. В модуле ConnectionDb.java в строке 85 находится следующее: Код: java 1. Идущий следом ResultSet Код: java 1. вполне себе корректно обрабатывал все это хозяйство, при запуске проги ошибок не выдавалось. Никаких. BlazkowiczВы же инженер, а не гуманитарий. Почему вы пытаетесь общими терминами описать конктретную проблему? Как раз-таки гуманитарий :). Как умею, так и описываю. Уж не серчайте. Это 3 разных шага в алгоритме. Разбивая на 3 шага: формирование запроса происходит правильно, проверял; непонятки начинаются на стадии создания копии (или ссылки, не пойму пока) модели таблицы и копии(ссылки?) таблицы с привязкой к модели; и третий момент - если я правильно понимаю результат написанного мною кода, в модель не попадает строка с запросом, в рез-те чего я не вижу данных в таблице. Может, по вашему, это и общие фразы, точнее не получается. За ссылки спасибо, внимательно ознакомился с материалом. Petro123Нда. Если Blazkowicz прав, то вам должно быть стыдно, т.к. в дельфях исключения это самая простая часть работы. Все дельфисты в них как рыба в воде. Как раз-таки в Дельфях у меня таких ситуаций было очень мало. С ними было проще разобраться, чем с этими исключениями. Предлагаете переписать код под JavaFX? Уже начал потихоньку. Заморочек тоже хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 14:37 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
День добрый. Итак, переписал прогу на JavaFX. Как ни странно, вопросы остались :(. Размещу только проблемные и связанные с ними модули. Полные исходники в архиве. Модуль модели: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. Модуль rootLayoutController: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. Модуль postidxOverviewController: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. Модуль frmFindController: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. Комментарии в коде, где что - присутствуют. Так вот: в модуль postidxOverview.fxml (в нем находится таблица) добавил панель (Pane) для быстрого поиска, на которой разместил 2 контрола: текстовое поле и кнопку для закрытия панели. Сам быстрый поиск, пока панель видна, работает исправно. В контроллере postidxOverviewController присутствует метод, который при запуске программы и показе таблицы скрывает панель с контролами. В контроллере rootLayoutController есть код, отрабатывающий событие нажатия кнопки мыши на пункте меню показа панели быстрого запуска. Сам метод показа панели находится, как написано выше, в контроллере postidxOverviewController. Так вот, при попытке вызвать метод (ссылка на контроллер есть), прога вываливается по Exception'у: Exception: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. Вижу, он ссылается на метод в другом контроллере, но понять не могу, что именно добавить в метод, чтобы он заработал как надо. Гугление вопроса мало что дает для понимания сути вопроса. Вопрос поиска тоже актуален. Теперь поиск, вроде как отрабатывает без ошибок, но результата я не наблюдаю в таблице. Слушатель для таблицы есть, работать, по идее, должен на изменения в таблице, но если его включить, подключение к базе отваливается. В каментах в коде я об этом написал. Бьюсь уже больше недели в поисках решения. Ткните носом, где я ошибаюсь. В коде использовал библиотеку JFoenix: https://github.com/jfoenixadmin/JFoenix . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 06:15 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
Добавлю только, что прогу переписывал по этому учебнику: http://code.makery.ch/library/javafx-8-tutorial/ru/part1/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 06:20 |
|
||
|
Поиск в базе sqlite в одной форме и вывод результатов в jtable в другой форме
|
|||
|---|---|---|---|
|
#18+
duponamkпереписал прогу на JavaFX.переписывайте обратно. Вы так и не научились коротко формулировать вопрос и код. Кому интересны ваши геттеры, стили и пункты меню приложения? Где биндинг коллекции? Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 07:31 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39598743&tid=2122214]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 267ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...