1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.commons.gui.table;
21
22 import javax.swing.table.DefaultTableCellRenderer;
23 import org.xnap.commons.i18n.I18n;
24 import org.xnap.commons.i18n.I18nFactory;
25 import org.xnap.commons.util.StringHelper;
26
27 /***
28 * Renders filesize for a table cell.
29 *
30 * @see org.xnap.commons.util.StringHelper#formatSize(long)
31 */
32 public class FilesizeCellRenderer extends DefaultTableCellRenderer
33 {
34 private static final I18n i18n = I18nFactory.getI18n(FilesizeCellRenderer.class);
35
36 public FilesizeCellRenderer()
37 {
38 setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
39 }
40
41 public void setValue(Object value)
42 {
43 if (value instanceof Number) {
44 long number = ((Number)value).longValue();
45 setToolTipText(String.format(i18n.tr("%,d bytes"), number));
46 super.setValue(StringHelper.formatSize(number));
47 }
48 else {
49 setToolTipText(null);
50 super.setValue(null);
51 }
52 }
53
54 }