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: jmeter-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org