26
26
import javax .swing .RowSorter ;
27
27
import javax .swing .SwingUtilities ;
28
28
import javax .swing .UIManager ;
29
+ import javax .swing .border .Border ;
29
30
import javax .swing .event .MouseInputListener ;
30
31
import javax .swing .plaf .ComponentUI ;
31
32
import javax .swing .plaf .basic .BasicTableHeaderUI ;
@@ -48,6 +49,7 @@ public class JBroTableHeaderUI extends BasicTableHeaderUI {
48
49
private List < Integer > rowHeights ;
49
50
private boolean updating ;
50
51
private ComponentUI headerDelegate ;
52
+ private ReverseBorder lastBorder ;
51
53
52
54
public JBroTableHeaderUI ( JBroTable table ) {
53
55
this .table = table ;
@@ -88,7 +90,7 @@ private Object getField( String fieldName, ComponentUI ui ) {
88
90
boolean accessible = field .isAccessible ();
89
91
if ( !accessible )
90
92
field .setAccessible ( true );
91
- Object ret = ( Object ) field .get ( ui );
93
+ Object ret = field .get ( ui );
92
94
if ( !accessible )
93
95
field .setAccessible ( false );
94
96
return ret ;
@@ -401,6 +403,14 @@ private void paintCell( Graphics g, Rectangle cellRect, JBroTableColumn group )
401
403
table .setCurrentLevel ( group .getY () );
402
404
Component comp = renderer .getTableCellRendererComponent ( table , group .getHeaderValue (), rollover , rollover , group .getY (), getTableColumnModel ().getColumnRelativeIndex ( group ) );
403
405
table .setCurrentLevel ( null );
406
+ if ( !parentUIdeterminesRolloverColumnItself && comp instanceof JComponent && group == getHeader ().getDraggedGroup () ) {
407
+ Border border = ( ( JComponent )comp ).getBorder ();
408
+ if ( border != null ) {
409
+ if ( lastBorder == null || lastBorder .getDelegate () != border )
410
+ lastBorder = new ReverseBorder ( border );
411
+ ( ( JComponent )comp ).setBorder ( lastBorder );
412
+ }
413
+ }
404
414
paintCell ( g , comp , cellRect );
405
415
}
406
416
0 commit comments