@@ -45,6 +45,7 @@ import javax.swing.JSeparator
4545import javax.swing.JSplitPane
4646import javax.swing.JTabbedPane
4747import javax.swing.JTable
48+ import javax.swing.RepaintManager
4849import javax.swing.SwingConstants
4950import javax.swing.UIManager
5051import javax.swing.border.EmptyBorder
@@ -368,9 +369,11 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
368369 testOverviewTableModel. fireTableDataChanged
369370 } else {
370371 if (testOverviewTableModel. rowCount > row) {
371- testOverviewTableModel. fireTableRowsUpdated(row, row)
372372 val positionOfCurrentTest = testOverviewTable. getCellRect(row, 0 , true );
373373 testOverviewTable. scrollRectToVisible = positionOfCurrentTest
374+ testOverviewTableModel. fireTableRowsUpdated(row, row)
375+ Thread . sleep(5 ) // reduce flickering
376+ testOverviewTable. scrollRectToVisible = positionOfCurrentTest
374377 }
375378 }
376379 statusLabel. text = currentRun. status
@@ -863,7 +866,8 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
863866 testOverviewTable. rowHeight = OVERVIEW_TABLE_ROW_HEIGHT
864867 testOverviewTable. tableHeader. preferredSize = new Dimension (testOverviewTable. tableHeader. getPreferredSize. width, OVERVIEW_TABLE_ROW_HEIGHT )
865868 testOverviewTable. selectionModel. addListSelectionListener(new TestOverviewRowListener (this ))
866- testOverviewTable. addMouseListener(this )
869+ testOverviewTable. addMouseListener(this )
870+ RepaintManager . currentManager(testOverviewTable). doubleBufferingEnabled = true // reduce flickering
867871 val testTableHeaderRenderer = new TestTableHeaderRenderer
868872 val overviewTableStatus = testOverviewTable. columnModel. getColumn(0 )
869873 overviewTableStatus. minWidth = INDICATOR_WIDTH
0 commit comments