Mercurial > hg > release > icedtea-web-1.1
changeset 230:85cf7fb25642
Fix sorting in itw-settings' cache viewer
author | Andrew Su <asu@redhat.com> |
---|---|
date | Tue, 10 May 2011 11:59:47 -0400 |
parents | 0256de6a4bf6 |
children | 06e542ca50c3 |
files | ChangeLog netx/net/sourceforge/jnlp/controlpanel/CachePane.java |
diffstat | 2 files changed, 32 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon May 02 14:33:32 2011 -0400 +++ b/ChangeLog Tue May 10 11:59:47 2011 -0400 @@ -1,3 +1,9 @@ +2011-05-10 Andrew Su <asu@redhat.com> + + * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: + (addComponents):Created a new comparator for sorting by file size and + date. + 2011-05-02 Deepak Bhole <dbhole@redhat.com> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
--- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Mon May 02 14:33:32 2011 -0400 +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Tue May 10 11:59:47 2011 -0400 @@ -30,8 +30,11 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.nio.channels.FileLock; +import java.text.DateFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Comparator; import java.util.Enumeration; import java.util.List; @@ -43,6 +46,7 @@ import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableRowSorter; import net.sourceforge.jnlp.cache.CacheDirectory; import net.sourceforge.jnlp.cache.DirectoryNode; @@ -96,7 +100,6 @@ }; cacheTable = new JTable(model); - cacheTable.setAutoCreateRowSorter(true); cacheTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); cacheTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN); cacheTable.setPreferredScrollableViewportSize(new Dimension(600, 200)); @@ -105,6 +108,28 @@ populateTable(); + TableRowSorter<DefaultTableModel> tableSorter = new TableRowSorter<DefaultTableModel>(model); + tableSorter.setComparator(4, new Comparator<Long>() { // Comparator for size column. + @Override + public int compare(Long o1, Long o2) { + return o1.compareTo(o2); + } + }); + tableSorter.setComparator(5, new Comparator<String>() { // Comparator for date column. + @Override + public int compare(String o1, String o2) { + DateFormat format = new SimpleDateFormat("MM/dd/yyyy"); + try { + Long time1 = format.parse(o1).getTime(); + Long time2 = format.parse(o2).getTime(); + return time1.compareTo(time2); + } catch (ParseException e) { + return 0; + } + } + }); + cacheTable.setRowSorter(tableSorter); + c.weightx = 1; c.weighty = 1; c.gridx = 0;