@@ -45,6 +45,7 @@ import javax.swing.JSeparator
45
45
import javax.swing.JSplitPane
46
46
import javax.swing.JTabbedPane
47
47
import javax.swing.JTable
48
+ import javax.swing.RepaintManager
48
49
import javax.swing.SwingConstants
49
50
import javax.swing.UIManager
50
51
import javax.swing.border.EmptyBorder
@@ -368,9 +369,11 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
368
369
testOverviewTableModel. fireTableDataChanged
369
370
} else {
370
371
if (testOverviewTableModel. rowCount > row) {
371
- testOverviewTableModel. fireTableRowsUpdated(row, row)
372
372
val positionOfCurrentTest = testOverviewTable. getCellRect(row, 0 , true );
373
373
testOverviewTable. scrollRectToVisible = positionOfCurrentTest
374
+ testOverviewTableModel. fireTableRowsUpdated(row, row)
375
+ Thread . sleep(5 ) // reduce flickering
376
+ testOverviewTable. scrollRectToVisible = positionOfCurrentTest
374
377
}
375
378
}
376
379
statusLabel. text = currentRun. status
@@ -863,7 +866,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
863
866
testOverviewTable. rowHeight = OVERVIEW_TABLE_ROW_HEIGHT
864
867
testOverviewTable. tableHeader. preferredSize = new Dimension (testOverviewTable. tableHeader. getPreferredSize. width, OVERVIEW_TABLE_ROW_HEIGHT )
865
868
testOverviewTable. selectionModel. addListSelectionListener(new TestOverviewRowListener (this ))
866
- testOverviewTable. addMouseListener(this )
869
+ testOverviewTable. addMouseListener(this )
870
+ RepaintManager . currentManager(testOverviewTable). doubleBufferingEnabled = true // reduce flickering
867
871
val testTableHeaderRenderer = new TestTableHeaderRenderer
868
872
val overviewTableStatus = testOverviewTable. columnModel. getColumn(0 )
869
873
overviewTableStatus. minWidth = INDICATOR_WIDTH
0 commit comments