Coverage Report - wjhk.jupload2.gui.filepanel.SortHeaderRenderer
 
Classes in this File Line Coverage Branch Coverage Complexity
SortHeaderRenderer
29 %
7/24
0 %
0/12
4
 
 1  
 //
 2  
 // $Id: SortHeaderRenderer.java 95 2007-05-02 03:27:05Z
 3  
 // /C=DE/ST=Baden-Wuerttemberg/O=ISDN4Linux/OU=Fritz
 4  
 // Elfert/CN=svn-felfert@isdn4linux.de/emailAddress=fritz@fritz-elfert.de $
 5  
 //
 6  
 // jupload - A file upload applet.
 7  
 // Copyright 2007 The JUpload Team
 8  
 //
 9  
 // Created: ?
 10  
 // Creator: William JinHua Kwong
 11  
 // Last modified: $Date: 2015-03-10 20:59:42 +0100 (mar., 10 mars 2015) $
 12  
 //
 13  
 // This program is free software; you can redistribute it and/or modify it under
 14  
 // the terms of the GNU General Public License as published by the Free Software
 15  
 // Foundation; either version 2 of the License, or (at your option) any later
 16  
 // version. This program is distributed in the hope that it will be useful, but
 17  
 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 18  
 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 19  
 // details. You should have received a copy of the GNU General Public License
 20  
 // along with this program; if not, write to the Free Software Foundation, Inc.,
 21  
 // 675 Mass Ave, Cambridge, MA 02139, USA.
 22  
 
 23  
 package wjhk.jupload2.gui.filepanel;
 24  
 
 25  
 import java.awt.Component;
 26  
 
 27  
 import javax.swing.Icon;
 28  
 import javax.swing.JTable;
 29  
 import javax.swing.UIManager;
 30  
 import javax.swing.table.DefaultTableCellRenderer;
 31  
 import javax.swing.table.JTableHeader;
 32  
 
 33  
 /**
 34  
  * Technical class, to display the column headers, for column that may be
 35  
  * sorted.
 36  
  */
 37  
 public class SortHeaderRenderer extends DefaultTableCellRenderer {
 38  
 
 39  
     /** A generated serialVersionUID, to avoid warning during compilation */
 40  
     private static final long serialVersionUID = -4104776293873798189L;
 41  
 
 42  1
     private static final Icon NONSORTED = new SortArrowIcon(SortArrowIcon.NONE);
 43  
 
 44  1
     private static final Icon ASCENDING = new SortArrowIcon(
 45  
             SortArrowIcon.ASCENDING);
 46  
 
 47  1
     private static final Icon DESCENDING = new SortArrowIcon(
 48  
             SortArrowIcon.DESCENDING);
 49  
 
 50  
     /**
 51  
      * Creates a new instance.
 52  
      */
 53  40
     public SortHeaderRenderer() {
 54  40
         setHorizontalTextPosition(LEFT);
 55  40
         setHorizontalAlignment(CENTER);
 56  40
     }
 57  
 
 58  
     /**
 59  
      * @see javax.swing.table.DefaultTableCellRenderer#getTableCellRendererComponent(javax.swing.JTable,
 60  
      *      java.lang.Object, boolean, boolean, int, int)
 61  
      */
 62  
     @Override
 63  
     public Component getTableCellRendererComponent(JTable table, Object value,
 64  
             boolean isSelected, boolean hasFocus, int row, int col) {
 65  0
         int index = -1;
 66  0
         boolean ascending = true;
 67  0
         if (table instanceof FilePanelJFlatTable) {
 68  0
             FilePanelJFlatTable sortTable = (FilePanelJFlatTable) table;
 69  0
             index = sortTable.getSortedColumnIndex();
 70  0
             ascending = sortTable.isSortedColumnAscending();
 71  
         }
 72  0
         if (table != null) {
 73  0
             JTableHeader header = table.getTableHeader();
 74  0
             if (header != null) {
 75  0
                 setForeground(header.getForeground());
 76  0
                 setBackground(header.getBackground());
 77  0
                 setFont(header.getFont());
 78  
             }
 79  
         }
 80  0
         Icon icon = ascending ? ASCENDING : DESCENDING;
 81  0
         setIcon(col == index ? icon : NONSORTED);
 82  0
         setText((value == null) ? "" : value.toString());
 83  0
         setBorder(UIManager.getBorder("TableHeader.cellBorder"));
 84  0
         return this;
 85  
     }
 86  
 }