You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/03/02 22:10:10 UTC
svn commit: r513951 - in
/jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui:
NumberRenderer.java RateRenderer.java RendererUtils.java
RightAlignRenderer.java
Author: sebb
Date: Fri Mar 2 13:10:10 2007
New Revision: 513951
URL: http://svn.apache.org/viewvc?view=rev&rev=513951
Log:
Initial version of JTable rendering utility classes
Added:
jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/NumberRenderer.java
jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RateRenderer.java
jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RendererUtils.java
jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RightAlignRenderer.java
Added: jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/NumberRenderer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/NumberRenderer.java?view=auto&rev=513951
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/NumberRenderer.java (added)
+++ jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/NumberRenderer.java Fri Mar 2 13:10:10 2007
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jorphan.gui;
+
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+
+import javax.swing.JLabel;
+import javax.swing.table.DefaultTableCellRenderer;
+
+/**
+ * Renders numbers in a JTable with a specified format
+ */
+public class NumberRenderer extends DefaultTableCellRenderer {
+ protected final NumberFormat formatter;
+
+ public NumberRenderer() {
+ super();
+ formatter = NumberFormat.getInstance();
+ setHorizontalAlignment(JLabel.RIGHT);
+ }
+
+ public NumberRenderer(String format) {
+ super();
+ formatter = new DecimalFormat(format);
+ setHorizontalAlignment(JLabel.RIGHT);
+ }
+
+ public void setValue(Object value) {
+ setText((value == null) ? "" : formatter.format(value));
+ }
+}
\ No newline at end of file
Added: jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RateRenderer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RateRenderer.java?view=auto&rev=513951
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RateRenderer.java (added)
+++ jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RateRenderer.java Fri Mar 2 13:10:10 2007
@@ -0,0 +1,44 @@
+package org.apache.jorphan.gui;
+
+/**
+ * Renders a rate in a JTable.
+ *
+ * The output is in units appropriate to its dimension:
+ * <p>
+ * The number is represented in one of:
+ * - requests/second
+ * - requests/minute
+ * - requests/hour.
+ * <p>
+ * Examples: "34.2/sec" "0.1/sec" "43.0/hour" "15.9/min"
+ */
+public class RateRenderer extends NumberRenderer{
+
+ public RateRenderer(String format) {
+ super(format);
+ }
+
+ public void setValue(Object value) {
+ if (value == null || ! (value instanceof Double)) {
+ setText("#N/A"); // TODO: should this just call super()?
+ return;
+ }
+ double rate = ((Double) value).doubleValue();
+ if (rate == Double.MAX_VALUE){
+ setText("#N/A"); // TODO: should this just call super()?
+ return;
+ }
+
+ String unit = "sec";
+
+ if (rate < 1.0) {
+ rate *= 60.0;
+ unit = "min";
+ }
+ if (rate < 1.0) {
+ rate *= 60.0;
+ unit = "hour";
+ }
+ setText(formatter.format(rate) + "/" + unit);
+ }
+}
\ No newline at end of file
Added: jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RendererUtils.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RendererUtils.java?view=auto&rev=513951
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RendererUtils.java (added)
+++ jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RendererUtils.java Fri Mar 2 13:10:10 2007
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jorphan.gui;
+
+import javax.swing.JTable;
+import javax.swing.table.TableCellRenderer;
+import javax.swing.table.TableColumnModel;
+
+/**
+ * Utility class for Renderers
+ */
+public class RendererUtils {
+ private RendererUtils(){
+ // uninstantiable
+ }
+ public static void applyRenderers(final JTable table, final TableCellRenderer [] renderers){
+ final TableColumnModel columnModel = table.getColumnModel();
+ for(int i = 0; i < renderers.length; i++){
+ final TableCellRenderer rend = renderers[i];
+ if (rend != null) {
+ columnModel.getColumn(i).setCellRenderer(rend);
+ }
+ }
+}
+}
Added: jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RightAlignRenderer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RightAlignRenderer.java?view=auto&rev=513951
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RightAlignRenderer.java (added)
+++ jakarta/jmeter/branches/rel-2-2/src/jorphan/org/apache/jorphan/gui/RightAlignRenderer.java Fri Mar 2 13:10:10 2007
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jorphan.gui;
+
+import javax.swing.JLabel;
+import javax.swing.table.DefaultTableCellRenderer;
+
+/**
+ * Renders items in a JTable right-aligned
+ */
+class RightAlignRenderer extends DefaultTableCellRenderer {
+ public RightAlignRenderer() {
+ super();
+ setHorizontalAlignment(JLabel.RIGHT);
+ }
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org