khammond 01/10/01 05:22:11 Modified: src/org/apache/jmeter/gui/action AboutCommand.java Log: Added Apache JMeter Version to the dialog. Revision Changes Path 1.4 +149 -148 jakarta-jmeter/src/org/apache/jmeter/gui/action/AboutCommand.java Index: AboutCommand.java =================================================================== RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/gui/action/AboutCommand.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- AboutCommand.java 2001/08/31 00:46:43 1.3 +++ AboutCommand.java 2001/10/01 12:22:11 1.4 @@ -1,148 +1,149 @@ -/* - * ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2001 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" and - * "Apache JMeter" must not be used to endorse or promote products - * derived from this software without prior written permission. For - * written permission, please contact [EMAIL PROTECTED] - * - * 5. Products derived from this software may not be called "Apache", - * "Apache JMeter", nor may "Apache" appear in their name, without - * prior written permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - */ -package org.apache.jmeter.gui.action; - -import java.awt.event.ActionEvent; -import java.util.Set; -import java.util.HashSet; -import java.util.Collections; -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; -import javax.swing.border.*; -import org.apache.jmeter.gui.GuiPackage; -import org.apache.jmeter.util.JMeterUtils; - -/** - * About Command. It may be extended in the future to add a list of - * installed protocols, config options, etc. - * - * @author <a href="[EMAIL PROTECTED]">Berin Loritsch</a> - * @version CVS $Revision: 1.3 $ $Date: 2001/08/31 00:46:43 $ - */ - -public class AboutCommand implements Command { - private static Set commandSet; - private static JDialog about; - - static { - HashSet commands = new HashSet(); - commands.add("about"); - AboutCommand.commandSet = Collections.unmodifiableSet(commands); - } - - /** - * Handle the "about" action by displaying the "About Apache JMeter..." - * dialog box. The Dialog Box is NOT modal, because those should be avoided - * if at all possible. - */ - public void doAction(ActionEvent e) { - if (e.getActionCommand().equals("about")) { - this.about(); - } - } - - /** - * Provide the list of Action names that are available in this command. - */ - public Set getActionNames() { - return AboutCommand.commandSet; - } - - /** - * Called by about button. Raises about dialog. Currently the about box has - * the product image and the copyright notice. The dialog box is centered - * over the MainFrame. - */ - void about() { - JFrame mainFrame = GuiPackage.getInstance().getMainFrame(); - if (about == null) { - about = new JDialog(mainFrame, "About Apache JMeter...", false); - about.addMouseListener(new MouseAdapter() { - public void mouseClicked(MouseEvent e) { - about.setVisible(false); - } - }); - - JLabel jmeter = new JLabel(JMeterUtils.getImage("jmeter.jpg")); - - JLabel copyright = new JLabel("Copyright (c) 1998-2001 The Java Apache Project", JLabel.CENTER); - JLabel rights = new JLabel("All Rights Reserved.", JLabel.CENTER); - JPanel infos = new JPanel(); - infos.setOpaque(false); - infos.setLayout(new GridLayout(0, 1)); - infos.setBorder(new EmptyBorder(5, 5, 5, 5)); - infos.add(copyright); - infos.add(rights); - - Container panel = about.getContentPane(); - panel.setLayout(new BorderLayout()); - panel.setBackground(Color.white); - panel.add(jmeter, BorderLayout.NORTH); - panel.add(infos, BorderLayout.SOUTH); - } - - // NOTE: these lines center the about dialog in the - // current window. Some older Swing versions have - // a bug in getLocationOnScreen() and they may not - // make this behave properly. - Point p = mainFrame.getLocationOnScreen(); - Dimension d1 = mainFrame.getSize(); - Dimension d2 = about.getSize(); - about.setLocation(p.x + (d1.width - d2.width) / 2, p.y + (d1.height - d2.height) / 2); - about.pack(); - about.setVisible(true); - } -} +/* + * ==================================================================== + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2001 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Apache" and "Apache Software Foundation" and + * "Apache JMeter" must not be used to endorse or promote products + * derived from this software without prior written permission. For + * written permission, please contact [EMAIL PROTECTED] + * + * 5. Products derived from this software may not be called "Apache", + * "Apache JMeter", nor may "Apache" appear in their name, without + * prior written permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. + */ + +package org.apache.jmeter.gui.action; + +import java.awt.event.ActionEvent; +import java.util.Set; +import java.util.HashSet; +import java.util.Collections; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import javax.swing.border.*; +import org.apache.jmeter.gui.GuiPackage; +import org.apache.jmeter.util.JMeterUtils; + +/** + * About Command. It may be extended in the future to add a list of + * installed protocols, config options, etc. + * + * @author <a href="[EMAIL PROTECTED]">Berin Loritsch</a> + * @version CVS $Revision: 1.4 $ $Date: 2001/10/01 12:22:11 $ + */ + +public class AboutCommand implements Command { + private static Set commandSet; + private static JDialog about; + + static { + HashSet commands = new HashSet(); + commands.add("about"); + AboutCommand.commandSet = Collections.unmodifiableSet(commands); + } + + /** + * Handle the "about" action by displaying the "About Apache JMeter..." + * dialog box. The Dialog Box is NOT modal, because those should be avoided + * if at all possible. + */ + public void doAction(ActionEvent e) { + if (e.getActionCommand().equals("about")) { + this.about(); + } + } + + /** + * Provide the list of Action names that are available in this command. + */ + public Set getActionNames() { + return AboutCommand.commandSet; + } + + /** + * Called by about button. Raises about dialog. Currently the about box has + * the product image and the copyright notice. The dialog box is centered + * over the MainFrame. + */ + void about() { + JFrame mainFrame = GuiPackage.getInstance().getMainFrame(); + if (about == null) { + about = new JDialog(mainFrame, "About Apache JMeter...", false); + about.addMouseListener(new MouseAdapter() { + public void mouseClicked(MouseEvent e) { + about.setVisible(false); + } + }); + + JLabel jmeter = new JLabel(JMeterUtils.getImage("jmeter.jpg")); + JLabel copyright = new JLabel("Copyright (c) 1998-2001 The Java Apache Project", JLabel.CENTER); + JLabel rights = new JLabel("All Rights Reserved.", JLabel.CENTER); + JLabel version = new JLabel("Apache JMeter Version " + JMeterUtils.getJMeterVersion(), JLabel.CENTER); + JPanel infos = new JPanel(); + infos.setOpaque(false); + infos.setLayout(new GridLayout(0, 1)); + infos.setBorder(new EmptyBorder(5, 5, 5, 5)); + infos.add(copyright); + infos.add(rights); + infos.add(version); + Container panel = about.getContentPane(); + panel.setLayout(new BorderLayout()); + panel.setBackground(Color.white); + panel.add(jmeter, BorderLayout.NORTH); + panel.add(infos, BorderLayout.SOUTH); + } + + // NOTE: these lines center the about dialog in the + // current window. Some older Swing versions have + // a bug in getLocationOnScreen() and they may not + // make this behave properly. + Point p = mainFrame.getLocationOnScreen(); + Dimension d1 = mainFrame.getSize(); + Dimension d2 = about.getSize(); + about.setLocation(p.x + (d1.width - d2.width) / 2, p.y + (d1.height - d2.height) / 2); + about.pack(); + about.setVisible(true); + } +}
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
