diff options
Diffstat (limited to 'libs/FLib/JWizard')
26 files changed, 8366 insertions, 0 deletions
diff --git a/libs/FLib/JWizard/License.txt b/libs/FLib/JWizard/License.txt new file mode 100644 index 0000000..be12e9d --- /dev/null +++ b/libs/FLib/JWizard/License.txt @@ -0,0 +1,123 @@ + Artistic License + +Preamble + +The intent of this document is to state the conditions under which a +Package may be copied, such that the Copyright Holder maintains some +semblance of artistic control over the development of the package, +while giving the users of the package the right to use and distribute +the Package in a more-or-less customary fashion, plus the right to +make reasonable modifications. + +Definitions: + + * "Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files + created through textual modification. + + * "Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes of + the Copyright Holder. + + * "Copyright Holder" is whoever is named in the copyright or + copyrights for the package. + + * "You" is you, if you're thinking about copying or distributing + this Package. + + * "Reasonable copying fee" is whatever you can justify on the + basis of media cost, duplication charges, time of people + involved, and so on. (You will not be required to justify it to + the Copyright Holder, but only to the computing community at + large as a market that must bear the fee.) + + * "Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. + It also means that recipients of the item may redistribute it + under the same conditions they received it. + +1. You may make and give away verbatim copies of the source form of + the Standard Version of this Package without restriction, provided + that you duplicate all of the original copyright notices and + associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications + derived from the Public Domain or from the Copyright Holder. A + Package modified in such a way shall still be considered the + Standard Version. + +3. You may otherwise modify your copy of this Package in any way, + provided that you insert a prominent notice in each changed file + stating how and when you changed that file, and provided that you + do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise make + them Freely Available, such as by posting said modifications to + Usenet or an equivalent medium, or placing the modifications on + a major archive site such as ftp.uu.net, or by allowing the + Copyright Holder to include your modifications in the Standard + Version of the Package. + + b) use the modified Package only within your corporation or + organization. + + c) rename any non-standard executables so the names do not + conflict with standard executables, which must also be + provided, and provide a separate manual page for each + non-standard executable that clearly documents how it differs + from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or + executable form, provided that you do at least ONE of the + following: + + a) distribute a Standard Version of the executables and library + files, together with instructions (in the manual page or + equivalent) on where to get the Standard Version. + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + + c) accompany any non-standard executables with their corresponding + Standard Version executables, giving the non-standard + executables non-standard names, and clearly documenting the + differences in manual pages (or equivalent), together with + instructions on where to get the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of + this Package. You may charge any fee you choose for support of this + Package. You may not charge a fee for this Package itself. However, + you may distribute this Package in aggregate with other (possibly + commercial) programs as part of a larger (possibly commercial) + software distribution provided that you do not advertise this + Package as a product of your own. + +6. The scripts and library files supplied as input to or produced as + output from the programs of this Package do not automatically fall + under the copyright of this Package, but belong to whomever + generated them, and may be sold commercially, and may be aggregated + with this Package. + +7. C or perl subroutines supplied by you and linked into this Package + shall not be considered part of this Package. + +8. Aggregation of this Package with a commercial distribution is + always permitted provided that the use of this Package is embedded; + that is, when no overt attempt is made to make this Package's + interfaces visible to the end user of the commercial distribution. + Such use shall not be construed as a distribution of this Package. + +9. The name of the Copyright Holder may not be used to endorse or + promote products derived from this software without specific prior + written permission. + +10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + PURPOSE. + +The End diff --git a/libs/FLib/JWizard/README.txt b/libs/FLib/JWizard/README.txt new file mode 100644 index 0000000..6698b99 --- /dev/null +++ b/libs/FLib/JWizard/README.txt @@ -0,0 +1,26 @@ + JWizard + +This package provides a Wizard component for use in Java programs. + +This program is free software; you can redistribute it and/or modify +it under the terms of the Artistic License. You should have received a +copy of the Artistic License along with this program (in file +License.txt). If not, a copy is available at + + http://opensource.org/licenses/artistic-license.php + +To build it you'll need Ant. I used version 1.6.2. Use + + ant all + +This will create build/jwizard.jar. To create the API documentation, use + + ant javadoc + +To view all the documentation, view doc/index.html. + +There is a tutorial in doc/tutorial.html. There is also a sample Java +program that uses the JWizard package. You can build and run this +program with + + ant runExample1 diff --git a/libs/FLib/JWizard/build.xml b/libs/FLib/JWizard/build.xml new file mode 100644 index 0000000..d8e7ceb --- /dev/null +++ b/libs/FLib/JWizard/build.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE project PUBLIC "-//ANT//DTD project//EN" "project.dtd"> + +<project basedir="." default="all" name="JWizard"> + + <!-- Set up the classpath for compilation and execution --> + + <path id="project.class.path"> + <pathelement location="."/> + </path> + + <!-- Common settings for all targets --> + + <target name="init" description="Initialize."> + <tstamp/> + </target> + + <!-- Compile everything --> + + <target depends="init" name="compile" description="Compile the project."> + <javac debug="true" deprecation="true" destdir="." srcdir="."> + <include name="org/freixas/**"/> + <include name="doc/example/**"/> + <classpath refid="project.class.path"/> + </javac> + </target> + + <!-- Place the class files in a jar file --> + + <target depends="compile" name="jar" description="Create a jar file."> + <mkdir dir="build"/> + <jar basedir="." compress="false" jarfile="build/jwizard.jar"> + <manifest> + <attribute name="Built-By" value="${user.name}"/> + <section name="JWizard"> + <attribute name="Specification-Title" value="JWizard Library"/> + <attribute name="Specification-Version" value="${version}"/> + <attribute name="Implementation-Title" value="JWizard"/> + <attribute name="Implementation-Version" value="${version} ${TODAY}"/> + </section> + </manifest> + <exclude name="**/*.java"/> + <exclude name="doc"/> + <exclude name="build"/> + <include name="org/freixas/jwizard/*.class"/> + <include name="**/*.gif"/> + <include name="**/*.properties"/> + </jar> + </target> + + <!-- Build all --> + + <target depends="jar" name="all" description="Build everything."> + <echo message="JWizard library built."/> + </target> + + <!-- Run Example1 --> + + <target depends="compile" name="runExample1" description="Run Example1."> + <java classname="doc.example.Example1" failonerror="true" fork="true"> + <classpath refid="project.class.path"/> + </java> + </target> + + <!-- Build the documentation --> + + <target depends="init" name="javadoc" description="Javadoc for JWizard."> + <mkdir dir="doc/api"/> + <copy todir="doc/api"> + <fileset dir="doc-templates"> + <include name="**/*.html"/> + </fileset> + </copy> + <javadoc + sourcepath="org" + destdir="doc/api" + use="true" + author="true" + windowtitle="JWizard" + footer="<small>Copyright © 2004-2005 Antonio Freixas<br>Licensed under the <a href='{@docRoot}/License.html' target='_top'>Artistic License</a></small>"> + <classpath refid="project.class.path"/> + <packageset dir="."> + <include name="org/freixas/**"/> + </packageset> + <link href="http://java.sun.com/j2se/1.5/docs/api/" /> + </javadoc> + </target> + + <!-- Clean the build tree --> + + <target depends="init" name="clean" description="Clean all build products."> + <delete> + <fileset dir="org/freixas"> + <include name="**/*.class"/> + </fileset> + </delete> + <delete> + <fileset dir="doc/example"> + <include name="**/*.class"/> + </fileset> + </delete> + <delete dir="build"/> + <delete dir="doc/api"/> + </target> + + <!-- Generate a DTD for this buildfile --> + + <target name="dtd" description="Generate a DTD"> + <antstructure output="project.dtd"/> + </target> + +</project> diff --git a/libs/FLib/JWizard/doc-templates/License.html b/libs/FLib/JWizard/doc-templates/License.html new file mode 100644 index 0000000..d5fbdc1 --- /dev/null +++ b/libs/FLib/JWizard/doc-templates/License.html @@ -0,0 +1,180 @@ +<html> + <style type="text/css"> + body { + font-family: Arial, Helvetica, sans-serif; + } + + h1 { + text-align: center; + font-weight: bold; + font-size: 145%; + } + + h2 { + text-align: left; + font-weight: bold; + font-size: 120%; + } + + ol { + list-style-type: decimal; + } + + ol ol { + list-style-type: lower-alpha; + } + + li { + margin-top: 10px; + margin-bottom: 10px; + } + + </style> +</head> + + <body> + + <h1>Artistic License</h1> + + <h2>Preamble</h2> + + <p>The intent of this document is to state the conditions under which a + Package may be copied, such that the Copyright Holder maintains some + semblance of artistic control over the development of the package, + while giving the users of the package the right to use and distribute + the Package in a more-or-less customary fashion, plus the right to + make reasonable modifications.</p> + + <h2>Definitions:</h2> + + <ul> + + <li>"Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files created + through textual modification.</li> + + <li>"Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes of the + Copyright Holder.</li> + + <li>"Copyright Holder" is whoever is named in the copyright or + copyrights for the package.</li> + + <li>"You" is you, if you're thinking about copying or distributing + this Package.</li> + + <li>"Reasonable copying fee" is whatever you can justify on the basis + of media cost, duplication charges, time of people involved, and so + on. (You will not be required to justify it to the Copyright Holder, + but only to the computing community at large as a market that must + bear the fee.)</li> + + <li>"Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. It + also means that recipients of the item may redistribute it under the + same conditions they received it.</li> + + </ul> + + <hr> + + <ol> + + <li>You may make and give away verbatim copies of the source form of + the Standard Version of this Package without restriction, provided + that you duplicate all of the original copyright notices and + associated disclaimers.</li> + + <li>You may apply bug fixes, portability fixes and other modifications + derived from the Public Domain or from the Copyright Holder. A Package + modified in such a way shall still be considered the Standard + Version.</li> + + <li>You may otherwise modify your copy of this Package in any way, + provided that you insert a prominent notice in each changed file + stating how and when you changed that file, and provided that you do + at least ONE of the following: + + <ol> + + <li>place your modifications in the Public Domain or otherwise make + them Freely Available, such as by posting said modifications to Usenet + or an equivalent medium, or placing the modifications on a major + archive site such as ftp.uu.net, or by allowing the Copyright Holder + to include your modifications in the Standard Version of the Package.</li> + + <li>use the modified Package only within your corporation or + organization.</li> + + <li>rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide a + separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version.</li> + + <li>make other distribution arrangements with the Copyright + Holder.</li> + + </ol> + </li> + + <li>You may distribute the programs of this Package in object code or + executable form, provided that you do at least ONE of the following: + + <ol> + + <li>distribute a Standard Version of the executables and library + files, together with instructions (in the manual page or equivalent) + on where to get the Standard Version.</li> + + <li>accompany the distribution with the machine-readable source of the + Package with your modifications.</li> + + <li>accompany any non-standard executables with their corresponding + Standard Version executables, giving the non-standard executables + non-standard names, and clearly documenting the differences in manual + pages (or equivalent), together with instructions on where to get the + Standard Version.</li> + + <li>make other distribution arrangements with the Copyright + Holder.</li> + + </ol> + </li> + + <li>You may charge a reasonable copying fee for any distribution of + this Package. You may charge any fee you choose for support of this + Package. You may not charge a fee for this Package itself. However, + you may distribute this Package in aggregate with other (possibly + commercial) programs as part of a larger (possibly commercial) + software distribution provided that you do not advertise this Package + as a product of your own.</li> + + <li>The scripts and library files supplied as input to or produced as + output from the programs of this Package do not automatically fall + under the copyright of this Package, but belong to whomever generated + them, and may be sold commercially, and may be aggregatedwith this + Package.</li> + + <li>r perl subroutines supplied by you and linked into this Package + shall not be considered part of this Package.</li> + + <li>Aggregation of this Package with a commercial distribution is + always permitted provided that the use of this Package is embedded; + that is, when no overt attempt is made to make this Package's + interfaces visible to the end user of the commercial distribution. + Such use shall not be construed as a distribution of this Package.</li> + + <li>The name of the Copyright Holder may not be used to endorse or + promote products derived from this software without specific prior + written permission.</li> + + <li>THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + PURPOSE.</li> + + </ol> + + <p>The End</p> + </body> +</html> diff --git a/libs/FLib/JWizard/doc/example/Example1.gif b/libs/FLib/JWizard/doc/example/Example1.gif Binary files differnew file mode 100644 index 0000000..15ea4b1 --- /dev/null +++ b/libs/FLib/JWizard/doc/example/Example1.gif diff --git a/libs/FLib/JWizard/doc/example/Example1.java b/libs/FLib/JWizard/doc/example/Example1.java new file mode 100644 index 0000000..60ef098 --- /dev/null +++ b/libs/FLib/JWizard/doc/example/Example1.java @@ -0,0 +1,701 @@ +//********************************************************************** +// Package +//********************************************************************** + +package doc.example; + +//********************************************************************** +// Import list +//********************************************************************** + +import java.io.File; +import java.net.URL; +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import org.freixas.jwizard.*; + +/** + * This class simulates an installation Wizard using the FLib JWizard + * component. + * <hr> + * This program is free software; you can redistribute it and/or + * modify it under the terms of the Artistic License. You should have + * received a copy of the Artistic License along with this program. If + * not, a copy is available at + * <a href="http://opensource.org/licenses/artistic-license.php"> + * opensource.org</a>. + * + * @author Antonio Freixas + */ + +// Copyright © 2004 Antonio Freixas +// All Rights Reserved. + +class Example1 + extends JWizardDialog +{ + +//********************************************************************** +// Public Constants +//********************************************************************** + +//********************************************************************** +// Private Constants +//********************************************************************** + +static final String LICENSE = +"Artistic License\n" + +"\n" + +"Preamble\n" + +"\n" + +"The intent of this document is to state the conditions under which a\n" + +"Package may be copied, such that the Copyright Holder maintains some\n" + +"semblance of artistic control over the development of the package,\n" + +"while giving the users of the package the right to use and distribute\n" + +"the Package in a more-or-less customary fashion, plus the right to\n" + +"make reasonable modifications.\n" + +"\n" + +"Definitions:\n" + +"\n" + +" * \"Package\" refers to the collection of files distributed by the\n" + +" Copyright Holder, and derivatives of that collection of files\n" + +" created through textual modification.\n" + +"\n" + +" * \"Standard Version\" refers to such a Package if it has not been\n" + +" modified, or has been modified in accordance with the wishes of\n" + +" the Copyright Holder.\n" + +"\n" + +" * \"Copyright Holder\" is whoever is named in the copyright or\n" + +" copyrights for the package.\n" + +"\n" + +" * \"You\" is you, if you're thinking about copying or distributing\n" + +" this Package.\n" + +"\n" + +" * \"Reasonable copying fee\" is whatever you can justify on the\n" + +" basis of media cost, duplication charges, time of people\n" + +" involved, and so on. (You will not be required to justify it to\n" + +" the Copyright Holder, but only to the computing community at\n" + +" large as a market that must bear the fee.)\n" + +"\n" + +" * \"Freely Available\" means that no fee is charged for the item\n" + +" itself, though there may be fees involved in handling the item.\n" + +" It also means that recipients of the item may redistribute it\n" + +" under the same conditions they received it.\n" + +"\n" + +"1. You may make and give away verbatim copies of the source form of\n" + +" the Standard Version of this Package without restriction, provided\n" + +" that you duplicate all of the original copyright notices and\n" + +" associated disclaimers.\n" + +"\n" + +"2. You may apply bug fixes, portability fixes and other modifications\n" + +" derived from the Public Domain or from the Copyright Holder. A\n" + +" Package modified in such a way shall still be considered the\n" + +" Standard Version.\n" + +"\n" + +"3. You may otherwise modify your copy of this Package in any way,\n" + +" provided that you insert a prominent notice in each changed file\n" + +" stating how and when you changed that file, and provided that you\n" + +" do at least ONE of the following:\n" + +"\n" + +" a) place your modifications in the Public Domain or otherwise make\n" + +" them Freely Available, such as by posting said modifications to\n" + +" Usenet or an equivalent medium, or placing the modifications on\n" + +" a major archive site such as ftp.uu.net, or by allowing the\n" + +" Copyright Holder to include your modifications in the Standard\n" + +" Version of the Package.\n" + +"\n" + +" b) use the modified Package only within your corporation or\n" + +" organization.\n" + +"\n" + +" c) rename any non-standard executables so the names do not\n" + +" conflict with standard executables, which must also be\n" + +" provided, and provide a separate manual page for each\n" + +" non-standard executable that clearly documents how it differs\n" + +" from the Standard Version.\n" + +"\n" + +" d) make other distribution arrangements with the Copyright Holder.\n" + +"\n" + +"4. You may distribute the programs of this Package in object code or\n" + +" executable form, provided that you do at least ONE of the\n" + +" following:\n" + +"\n" + +" a) distribute a Standard Version of the executables and library\n" + +" files, together with instructions (in the manual page or\n" + +" equivalent) on where to get the Standard Version.\n" + +"\n" + +" b) accompany the distribution with the machine-readable source of\n" + +" the Package with your modifications.\n" + +"\n" + +" c) accompany any non-standard executables with their corresponding\n" + +" Standard Version executables, giving the non-standard\n" + +" executables non-standard names, and clearly documenting the\n" + +" differences in manual pages (or equivalent), together with\n" + +" instructions on where to get the Standard Version.\n" + +"\n" + +" d) make other distribution arrangements with the Copyright Holder.\n" + +"\n" + +"5. You may charge a reasonable copying fee for any distribution of\n" + +" this Package. You may charge any fee you choose for support of this\n" + +" Package. You may not charge a fee for this Package itself. However,\n" + +" you may distribute this Package in aggregate with other (possibly\n" + +" commercial) programs as part of a larger (possibly commercial)\n" + +" software distribution provided that you do not advertise this\n" + +" Package as a product of your own.\n" + +"\n" + +"6. The scripts and library files supplied as input to or produced as\n" + +" output from the programs of this Package do not automatically fall\n" + +" under the copyright of this Package, but belong to whomever\n" + +" generated them, and may be sold commercially, and may be aggregated\n" + +" with this Package.\n" + +"\n" + +"7. C or perl subroutines supplied by you and linked into this Package\n" + +" shall not be considered part of this Package.\n" + +"\n" + +"8. Aggregation of this Package with a commercial distribution is\n" + +" always permitted provided that the use of this Package is embedded;\n" + +" that is, when no overt attempt is made to make this Package's\n" + +" interfaces visible to the end user of the commercial distribution.\n" + +" Such use shall not be construed as a distribution of this Package.\n" + +"\n" + +"9. The name of the Copyright Holder may not be used to endorse or\n" + +" promote products derived from this software without specific prior\n" + +" written permission.\n" + +"\n" + +"10. THIS PACKAGE IS PROVIDED \"AS IS\" AND WITHOUT ANY EXPRESS OR\n" + +" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n" + +" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR\n" + +" PURPOSE.\n" + +"\n" + +"The End\n"; + +//********************************************************************** +// Private Members +//********************************************************************** + +private File installationFolder; +private boolean standardInstall = true; +private boolean installProgram = true; +private boolean installDocumentation = true; +private boolean installExamples = true; + +//********************************************************************** +// main +//********************************************************************** + +public static void +main( + String[] args) +{ + new Example1(); + System.exit(0); +} + +//********************************************************************** +// Constructors +//********************************************************************** + +/** + * Create an instance of Example1. Note that this class is a subclass + * of JWizardDialog. + */ + +public +Example1() +{ + // We want the dialog modal -- when the dialog is finished, we + // exit the program + + setModal(true); + + // Set the dialog title. This is the title for the wizard as a + // whole + + setTitle("Install Example1"); + + // Set the logo image + + URL url = getClass().getResource("Example1.gif"); + setWizardIcon(new ImageIcon(url)); + + // Create each step + + addWizardPanel(new Step0()); + addWizardPanel(new Step1()); + addWizardPanel(new Step2()); + addWizardPanel(new Step3()); + addWizardPanel(new Step4()); + addWizardPanel(new Step5()); + addWizardPanel(new Step6()); + + // We don't want to have the cancel button enabled when we're done + + disableCancelAtEnd(); + + // Make the dialog visible + + pack(); + setVisible(true); +} + +//********************************************************************** +// Protected +//********************************************************************** + +/** + * If the user presses cancel, we want to give him/her the option of + * continuing with the installation. + */ + +protected void +cancel() +{ + int response = + JOptionPane.showConfirmDialog( + this, + "Cancel the installation of Example1?", + "Cancel Installation", + JOptionPane.OK_CANCEL_OPTION); + + if (response == JOptionPane.OK_OPTION) { + super.cancel(); + } +} + +//********************************************************************** +// Inner Classes +//********************************************************************** + +//********************************************************************** +// Step0 +//********************************************************************** + +// This panel just introduces the Example1 wizard (which pretends that +// its going to install a package called Example1) + +private class Step0 + extends JWizardPanel +{ + +public +Step0() +{ + setStepTitle("Welcome to the Example1 Installation!"); + + JPanel contentPane = getContentPane(); + contentPane.setLayout(new BorderLayout()); + + JLabel label = + new JLabel( + "<html>"+ + "The following steps will install the Example1 program.<br>" + + "Press <b>Next</b> to begin the installation.<br><br>" + + "<i>Note: This is an example of the JWizard component.<br>"+ + "Nothing will be installed and no directories will be<br>"+ + "created.</i>"); + + contentPane.add(label, BorderLayout.NORTH); + + // Set the previous (none) and next steps + + setBackStep(-1); + setNextStep(1); +} + +} + +//********************************************************************** +// Step1 +//********************************************************************** + +// This panel displays the installation license + +private class Step1 + extends JWizardPanel +{ + +public +Step1() +{ + setStepTitle("License Terms"); + + JPanel contentPane = getContentPane(); + contentPane.setLayout(new BorderLayout()); + + JTextArea text = new JTextArea(20, 40); + text.setText(LICENSE); + JScrollPane scroll = new JScrollPane(text); + + JCheckBox checkbox = new JCheckBox("I agree."); + checkbox.addItemListener( + new ItemListener() { + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + setNextStep(2); + } + else { + setNextStep(-1); + } + }}); + + contentPane.add(scroll); + contentPane.add(checkbox, BorderLayout.SOUTH); + + // Set the previous and next steps. Note that we don't have a next + // step until the user agrees to the license terms + + setBackStep(0); + setNextStep(-1); +} + +} + +//********************************************************************** +// Step2 +//********************************************************************** + +// Select the installation location + +private class Step2 + extends JWizardPanel +{ + +private JTextField field; + +public +Step2() +{ + setStepTitle("Select Installation Location"); + + JPanel contentPane = getContentPane(); + contentPane.setLayout(new BorderLayout()); + + // Field to enter install location + + field = + new JTextField( + "C:\\Program Files\\Example1"); + + // Browse button for browsing to install location + + final JButton browse = new JButton("Browse"); + browse.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + File defaultDir = new File("C:\\Program Files"); + JFileChooser chooser = new JFileChooser(defaultDir); |
