Author: sebb
Date: Thu Feb 25 00:55:27 2010
New Revision: 916067
URL: http://svn.apache.org/viewvc?rev=916067&view=rev
Log:
Better implementation of fixsize() for table columns
Modified:
jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/GuiUtils.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
Modified: jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/GuiUtils.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/GuiUtils.java?rev=916067&r1=916066&r2=916067&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/GuiUtils.java
(original)
+++ jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/GuiUtils.java Thu
Feb 25 00:55:27 2010
@@ -21,6 +21,9 @@
import java.awt.Component;
import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.table.TableCellRenderer;
+import javax.swing.table.TableColumn;
public class GuiUtils {
@@ -42,4 +45,23 @@
return pane;
}
+ /**
+ * Fix the size of a column according to the header text.
+ *
+ * @param column to be resized
+ * @param table containing the column
+ */
+ public static void fixSize(TableColumn column, JTable table) {
+ TableCellRenderer rndr;
+ rndr = column.getHeaderRenderer();
+ if (rndr == null){
+ rndr = table.getTableHeader().getDefaultRenderer();
+ }
+ Component c = rndr.getTableCellRendererComponent(
+ table, column.getHeaderValue(), false, false, -1,
column.getModelIndex());
+ int width = c.getPreferredSize().width+10;
+ column.setMaxWidth(width);
+ column.setPreferredWidth(width);
+ column.setResizable(false);
+ }
}
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java?rev=916067&r1=916066&r2=916067&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
Thu Feb 25 00:55:27 2010
@@ -21,7 +21,6 @@
import java.util.Iterator;
import javax.swing.JTable;
-import javax.swing.table.TableColumn;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.gui.ArgumentsPanel;
@@ -29,6 +28,7 @@
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.testelement.property.PropertyIterator;
import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.gui.GuiUtils;
import org.apache.jorphan.gui.ObjectTableModel;
import org.apache.jorphan.reflect.Functor;
@@ -71,11 +71,8 @@
@Override
protected void sizeColumns(JTable table) {
- int resizeMode = table.getAutoResizeMode();
- table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
- fixSize(table.getColumn(INCLUDE_EQUALS));
- fixSize(table.getColumn(ENCODE_OR_NOT));
- table.setAutoResizeMode(resizeMode);
+ GuiUtils.fixSize(table.getColumn(INCLUDE_EQUALS), table);
+ GuiUtils.fixSize(table.getColumn(ENCODE_OR_NOT), table);
}
@Override
@@ -86,14 +83,6 @@
return arg;
}
- private void fixSize(TableColumn column) {
- column.sizeWidthToFit();
- // column.setMinWidth(column.getWidth());
- column.setMaxWidth((int) (column.getWidth() * 1.5));
- column.setWidth(column.getMaxWidth());
- column.setResizable(false);
- }
-
public HTTPArgumentsPanel() {
super(JMeterUtils.getResString("paramtable")); //$NON-NLS-1$
}
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java?rev=916067&r1=916066&r2=916067&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
Thu Feb 25 00:55:27 2010
@@ -36,7 +36,6 @@
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.TableCellEditor;
-import javax.swing.table.TableColumn;
import org.apache.jmeter.gui.util.FileDialoger;
import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
@@ -44,6 +43,7 @@
import org.apache.jmeter.protocol.http.util.HTTPFileArg;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.gui.GuiUtils;
import org.apache.jorphan.gui.ObjectTableModel;
import org.apache.jorphan.reflect.Functor;
@@ -142,24 +142,8 @@
* the table to resize columns for
*/
private void sizeColumns(JTable table) {
- int resizeMode = table.getAutoResizeMode();
- table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
- fixSize(table.getColumn(PARAMNAME));
- fixSize(table.getColumn(MIMETYPE));
- table.setAutoResizeMode(resizeMode);
- }
-
- /**
- * Resize the table column to a fixed size.
- *
- * @param column
- * the column whose size will be fixed
- */
- private void fixSize(TableColumn column) {
- column.sizeWidthToFit();
- column.setMaxWidth(column.getWidth() * 2);
- column.setWidth(column.getMaxWidth());
- column.setResizable(false);
+ GuiUtils.fixSize(table.getColumn(PARAMNAME), table);
+ GuiUtils.fixSize(table.getColumn(MIMETYPE), table);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]