2626import javax .swing .RowSorter ;
2727import javax .swing .SwingUtilities ;
2828import javax .swing .UIManager ;
29+ import javax .swing .border .Border ;
2930import javax .swing .event .MouseInputListener ;
3031import javax .swing .plaf .ComponentUI ;
3132import javax .swing .plaf .basic .BasicTableHeaderUI ;
@@ -48,6 +49,7 @@ public class JBroTableHeaderUI extends BasicTableHeaderUI {
4849 private List < Integer > rowHeights ;
4950 private boolean updating ;
5051 private ComponentUI headerDelegate ;
52+ private ReverseBorder lastBorder ;
5153
5254 public JBroTableHeaderUI ( JBroTable table ) {
5355 this .table = table ;
@@ -88,7 +90,7 @@ private Object getField( String fieldName, ComponentUI ui ) {
8890 boolean accessible = field .isAccessible ();
8991 if ( !accessible )
9092 field .setAccessible ( true );
91- Object ret = ( Object ) field .get ( ui );
93+ Object ret = field .get ( ui );
9294 if ( !accessible )
9395 field .setAccessible ( false );
9496 return ret ;
@@ -401,6 +403,14 @@ private void paintCell( Graphics g, Rectangle cellRect, JBroTableColumn group )
401403 table .setCurrentLevel ( group .getY () );
402404 Component comp = renderer .getTableCellRendererComponent ( table , group .getHeaderValue (), rollover , rollover , group .getY (), getTableColumnModel ().getColumnRelativeIndex ( group ) );
403405 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+ }
404414 paintCell ( g , comp , cellRect );
405415 }
406416
0 commit comments