src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java

Print this page




 165             return this;
 166         }
 167 
 168         public void paint(Graphics g) {
 169             Dimension size = getSize();
 170             State state = State.NORMAL;
 171             TableColumn draggedColumn = header.getDraggedColumn();
 172             if (draggedColumn != null &&
 173                     column == SwingUtilities2.convertColumnIndexToView(
 174                             header.getColumnModel(), draggedColumn.getModelIndex())) {
 175                 state = State.PRESSED;
 176             } else if (isSelected || hasFocus || hasRollover) {
 177                 state = State.HOT;
 178             }
 179             /* on Vista there are more states for sorted columns */
 180             if (WindowsLookAndFeel.isOnVista()) {
 181                 SortOrder sortOrder = getColumnSortOrder(header.getTable(), column);
 182                 if (sortOrder != null) {
 183                      switch(sortOrder) {
 184                      case ASCENDING:
 185                          /* falls through */
 186                      case DESCENDING:
 187                          switch (state) {
 188                          case NORMAL:
 189                              state = State.SORTEDNORMAL;
 190                              break;
 191                          case PRESSED:
 192                              state = State.SORTEDPRESSED;
 193                              break;
 194                          case HOT:
 195                              state = State.SORTEDHOT;
 196                              break;
 197                          default:
 198                              /* do nothing */
 199                          }

 200                      default :
 201                          /* do nothing */
 202                      }
 203                 }
 204             }
 205             skin.paintSkin(g, 0, 0, size.width-1, size.height-1, state);
 206             super.paint(g);
 207         }
 208     }
 209 
 210     /**
 211      * A border with an Icon at the middle of the top side.
 212      * Outer insets can be provided for this border.
 213      */
 214     private static class IconBorder implements Border, UIResource{
 215         private final Icon icon;
 216         private final int top;
 217         private final int left;
 218         private final int bottom;
 219         private final int right;




 165             return this;
 166         }
 167 
 168         public void paint(Graphics g) {
 169             Dimension size = getSize();
 170             State state = State.NORMAL;
 171             TableColumn draggedColumn = header.getDraggedColumn();
 172             if (draggedColumn != null &&
 173                     column == SwingUtilities2.convertColumnIndexToView(
 174                             header.getColumnModel(), draggedColumn.getModelIndex())) {
 175                 state = State.PRESSED;
 176             } else if (isSelected || hasFocus || hasRollover) {
 177                 state = State.HOT;
 178             }
 179             /* on Vista there are more states for sorted columns */
 180             if (WindowsLookAndFeel.isOnVista()) {
 181                 SortOrder sortOrder = getColumnSortOrder(header.getTable(), column);
 182                 if (sortOrder != null) {
 183                      switch(sortOrder) {
 184                      case ASCENDING:

 185                      case DESCENDING:
 186                          switch (state) {
 187                          case NORMAL:
 188                              state = State.SORTEDNORMAL;
 189                              break;
 190                          case PRESSED:
 191                              state = State.SORTEDPRESSED;
 192                              break;
 193                          case HOT:
 194                              state = State.SORTEDHOT;
 195                              break;
 196                          default:
 197                              /* do nothing */
 198                          }
 199                          break;
 200                      default :
 201                          /* do nothing */
 202                      }
 203                 }
 204             }
 205             skin.paintSkin(g, 0, 0, size.width-1, size.height-1, state);
 206             super.paint(g);
 207         }
 208     }
 209 
 210     /**
 211      * A border with an Icon at the middle of the top side.
 212      * Outer insets can be provided for this border.
 213      */
 214     private static class IconBorder implements Border, UIResource{
 215         private final Icon icon;
 216         private final int top;
 217         private final int left;
 218         private final int bottom;
 219         private final int right;