@@ -162,7 +162,7 @@ class LogTable(
162162 val rowIdx = rowIndex % tableModel.pageSize
163163
164164 if (setSelected) {
165- setRowSelectionInterval( rowIdx, rowIdx )
165+ setInternalSelectedRows( listOf ( rowIdx) )
166166 }
167167
168168 val viewPort = parent as JViewport
@@ -205,35 +205,40 @@ class LogTable(
205205 }
206206
207207 fun isLastRowSelected (): Boolean {
208+ val selectedRow = getInternalSelectedRow()
208209 return selectedRow == tableModel.rowCount - 1 && tableModel.currentPage == tableModel.pageCount - 1
209210 }
210-
211+
211212 private fun updateRowHeight () {
212213 setRowHeight(getFontMetrics(font).height + 4 )
213214 }
214215
215216 override fun moveToNextSeveralRows () {
217+ val selectedRow = getInternalSelectedRow()
216218 if (selectedRow < 0 ) {
217219 return
218220 }
219221 moveRowToCenter((selectedRow + BATCH_ROW_COUNT_TO_SCROLL ).coerceAtMost(tableModel.dataSize - 1 ), true )
220222 }
221223
222224 override fun moveToPreviousSeveralRows () {
225+ val selectedRow = getInternalSelectedRow()
223226 if (selectedRow < 0 ) {
224227 return
225228 }
226229 moveRowToCenter((selectedRow - BATCH_ROW_COUNT_TO_SCROLL ).coerceAtLeast(0 ), true )
227230 }
228231
229232 override fun moveToNextRow () {
233+ val selectedRow = getInternalSelectedRow()
230234 if (selectedRow < 0 ) {
231235 return
232236 }
233237 moveRowToCenter((selectedRow + 1 ).coerceAtMost(tableModel.dataSize - 1 ), true )
234238 }
235239
236240 override fun moveToPreviousRow () {
241+ val selectedRow = getInternalSelectedRow()
237242 if (selectedRow < 0 ) {
238243 return
239244 }
@@ -282,6 +287,16 @@ class LogTable(
282287 }
283288 }
284289
290+ private fun getInternalSelectedRow (): Int {
291+ return tableModel.selectedLogRows.firstOrNull() ? : - 1
292+ }
293+
294+ private fun setInternalSelectedRows (rows : List <Int >) {
295+ tableModel.selectedLogRows.clear()
296+ tableModel.selectedLogRows.addAll(rows)
297+ repaint()
298+ }
299+
285300 private fun showComponentInDialog (
286301 logTable : LogTable ,
287302 textComponent : JTextComponent ,
0 commit comments