jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java
changeset 5590 3ec077d7e893
parent 1639 a97859015238
child 5597 ab490f66d2cf
equal deleted inserted replaced
5589:5e4f59f34eea 5590:3ec077d7e893
    33 import javax.swing.table.*;
    33 import javax.swing.table.*;
    34 
    34 
    35 import static com.sun.java.swing.plaf.windows.TMSchema.*;
    35 import static com.sun.java.swing.plaf.windows.TMSchema.*;
    36 import static com.sun.java.swing.plaf.windows.XPStyle.*;
    36 import static com.sun.java.swing.plaf.windows.XPStyle.*;
    37 import sun.swing.table.*;
    37 import sun.swing.table.*;
       
    38 import sun.swing.SwingUtilities2;
    38 
    39 
    39 
    40 
    40 public class WindowsTableHeaderUI extends BasicTableHeaderUI {
    41 public class WindowsTableHeaderUI extends BasicTableHeaderUI {
    41     private TableCellRenderer originalHeaderRenderer;
    42     private TableCellRenderer originalHeaderRenderer;
    42 
    43 
   161             }
   162             }
   162             setBorder(border);
   163             setBorder(border);
   163             return this;
   164             return this;
   164         }
   165         }
   165 
   166 
   166         private int viewIndexForColumn(TableColumn aColumn) {
       
   167             if (aColumn != null) {
       
   168                 return header.getTable().convertColumnIndexToView(
       
   169                         aColumn.getModelIndex());
       
   170             }
       
   171             return -1;
       
   172         }
       
   173 
       
   174         public void paint(Graphics g) {
   167         public void paint(Graphics g) {
   175             Dimension size = getSize();
   168             Dimension size = getSize();
   176             State state = State.NORMAL;
   169             State state = State.NORMAL;
   177             if (column == viewIndexForColumn(header.getDraggedColumn())) {
   170             TableColumn draggedColumn = header.getDraggedColumn();
       
   171             if (draggedColumn != null &&
       
   172                     column == SwingUtilities2.convertColumnIndexToView(
       
   173                             header.getColumnModel(), draggedColumn.getModelIndex())) {
   178                 state = State.PRESSED;
   174                 state = State.PRESSED;
   179             } else if (isSelected || hasFocus || hasRollover) {
   175             } else if (isSelected || hasFocus || hasRollover) {
   180                 state = State.HOT;
   176                 state = State.HOT;
   181             }
   177             }
   182             /* on Vista there are more states for sorted columns */
   178             /* on Vista there are more states for sorted columns */