Author: jflesch
Date: 2007-08-01 21:20:07 +0000 (Wed, 01 Aug 2007)
New Revision: 14457
Modified:
trunk/apps/Thaw/src/thaw/gui/Table.java
trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
trunk/apps/Thaw/src/thaw/plugins/transferLogs/TransferTable.java
Log:
Optimize the table renderers
Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java 2007-08-01 17:49:01 UTC (rev
14456)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java 2007-08-01 21:20:07 UTC (rev
14457)
@@ -161,13 +161,23 @@
private Color softGray;
+ private JLabel labelRenderer;
+ private TransferProgressBar transferProgressBarRenderer;
+ private JTextArea textAreaRenderer;
public DefaultRenderer() {
softGray = new Color(240,240,240);
+ labelRenderer = new JLabel();
+ transferProgressBarRenderer = new
TransferProgressBar(null, statusInProgressBars);
+ textAreaRenderer = new JTextArea();
+ textAreaRenderer.setEditable(false);
+ textAreaRenderer.setLineWrap(true);
+ textAreaRenderer.setWrapStyleWord(true);
}
public void showStatusInProgressBars(boolean v) {
statusInProgressBars = v;
+ transferProgressBarRenderer.showStatusInProgressBar(v);
}
public void specifyColumnWithKeys(int c) {
@@ -183,15 +193,20 @@
if (value instanceof FCPTransferQuery) {
final FCPTransferQuery query =
(FCPTransferQuery)value;
- final JProgressBar bar = new
TransferProgressBar(query, statusInProgressBars);
- return bar;
+ //final JProgressBar bar = new
TransferProgressBar(query, statusInProgressBars);
+
+ transferProgressBarRenderer.setQuery(query);
+ transferProgressBarRenderer.refresh();
+
+ return transferProgressBarRenderer;
}
Component cell;
if (value instanceof ImageIcon) {
- return new JLabel(((ImageIcon)value));
+ labelRenderer.setIcon((ImageIcon)value);
+ return labelRenderer;
} if (value instanceof JPanel) {
cell = (Component)value;
} else if(value instanceof Long) {
@@ -201,15 +216,12 @@
isSelected, hasFocus, row, column);
} else if (value instanceof String &&
((String)value).indexOf("\n") >= 0) {
- JTextArea area = new JTextArea((String)value);
- area.setEditable(false);
- area.setLineWrap(true);
- area.setWrapStyleWord(true);
+ textAreaRenderer.setText((String)value);
- if (table.getRowHeight(row) <
area.getPreferredSize().getHeight())
-
table.setRowHeight((int)area.getPreferredSize().getHeight());
+ if (table.getRowHeight(row) <
textAreaRenderer.getPreferredSize().getHeight())
+
table.setRowHeight((int)textAreaRenderer.getPreferredSize().getHeight());
- cell = area;
+ cell = textAreaRenderer;
} else {
cell =
super.getTableCellRendererComponent(table, value,
Modified: trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java 2007-08-01
17:49:01 UTC (rev 14456)
+++ trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java 2007-08-01
21:20:07 UTC (rev 14457)
@@ -23,14 +23,21 @@
this.query = query;
this.statusInProgressBar = statusInProgressBar;
this.withBorder = withBorder;
-
- refresh();
}
public TransferProgressBar(FCPTransferQuery query, boolean
statusInProgressBar) {
this(query, statusInProgressBar, false);
}
+ public void setQuery(FCPTransferQuery query) {
+ this.query = query;
+ }
+
+ public void showStatusInProgressBar(boolean v) {
+ this.statusInProgressBar = v;
+ }
+
+
public void refresh() {
int progress;
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-08-01 17:49:01 UTC (rev 14456)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-08-01 21:20:07 UTC (rev 14457)
@@ -261,8 +261,11 @@
}
protected class MessageTableRenderer extends Table.DefaultRenderer {
+ private JCheckBox checkBoxRenderer;
+
public MessageTableRenderer() {
super();
+ this.checkBoxRenderer = new JCheckBox();
}
public Component getTableCellRendererComponent(final JTable
table, Object value,
@@ -273,11 +276,9 @@
Author author = model.getMsg(row).getSender();
if (value instanceof Boolean) {
- JCheckBox box = new JCheckBox();
+
checkBoxRenderer.setSelected(((Boolean)value).booleanValue());
-
box.setSelected(((Boolean)value).booleanValue());
-
- return box;
+ return checkBoxRenderer;
}
Color color = Color.BLACK;
Modified: trunk/apps/Thaw/src/thaw/plugins/transferLogs/TransferTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/transferLogs/TransferTable.java
2007-08-01 17:49:01 UTC (rev 14456)
+++ trunk/apps/Thaw/src/thaw/plugins/transferLogs/TransferTable.java
2007-08-01 21:20:07 UTC (rev 14457)
@@ -132,9 +132,18 @@
private Color softGray;
private Color lightBlue;
+ private JTextArea textAreaRenderer;
+ private JLabel labelRenderer;
+
public TransferTableRenderer() {
softGray = new Color(240,240,240);
lightBlue = new Color(220, 220, 255);
+
+ labelRenderer = new JLabel("", JLabel.CENTER);
+
+ textAreaRenderer = new JTextArea();
+ textAreaRenderer.setEditable(false);
+ textAreaRenderer.setLineWrap(false);
}
public Component getTableCellRendererComponent(final JTable
table, Object value,
@@ -143,14 +152,12 @@
Component cell;
if (value instanceof String &&
((String)value).indexOf("\n") >= 0) {
- JTextArea area = new JTextArea((String)value);
- area.setEditable(false);
- area.setLineWrap(false);
+ textAreaRenderer.setText((String)value);
+ cell = textAreaRenderer;
- cell = area;
-
} else if ((value instanceof String) &&
"X".equals((String)value) ) {
- return new JLabel(IconBox.minClose);
+ labelRenderer.setIcon(IconBox.minClose);
+ return labelRenderer;
} else if (value instanceof Integer) {
int val = ((Integer)value).intValue();
@@ -168,7 +175,9 @@
icon = (val ==
TransferLogs.TRANSFER_TYPE_DOWNLOAD) ?
IconBox.minDownloads :
IconBox.minInsertions;
- return new JLabel(icon);
+ labelRenderer.setIcon(icon);
+
+ return labelRenderer;
}
} else {