提交 c74a5142 编写于 作者: D dcubed

Merge

......@@ -32,6 +32,12 @@ else
include $(GAMMADIR)/make/defs.make
endif
ifeq "x$(HOTSPOT_BUILD_VERSION)" "x"
SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)
else
SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
endif
PKGLIST = \
sun.jvm.hotspot \
sun.jvm.hotspot.asm \
......@@ -117,7 +123,9 @@ sun.jvm.hotspot.ui.tree \
sun.jvm.hotspot.ui.treetable \
sun.jvm.hotspot.utilities \
sun.jvm.hotspot.utilities.memo \
sun.jvm.hotspot.utilities.soql
sun.jvm.hotspot.utilities.soql \
com.sun.java.swing.action \
com.sun.java.swing.ui
#END PKGLIST
# Generated using the build-filelist script
......@@ -198,7 +206,9 @@ sun/jvm/hotspot/ui/tree/*.java \
sun/jvm/hotspot/ui/treetable/*.java \
sun/jvm/hotspot/utilities/*.java \
sun/jvm/hotspot/utilities/memo/*.java \
sun/jvm/hotspot/utilities/soql/*.java
sun/jvm/hotspot/utilities/soql/*.java \
com/sun/java/swing/action/*.java \
com/sun/java/swing/ui/*.java
#END FILELIST
ifneq "x$(ALT_BOOTDIR)" "x"
......@@ -220,8 +230,6 @@ else
endif
SRC_DIR = ../src/share/classes
LIB_DIR = ../src/share/lib
CLOSED_LIB_DIR = ../closed/src/share/lib
BUILD_DIR = ../build
OUTPUT_DIR = $(BUILD_DIR)/classes
DOC_DIR = $(BUILD_DIR)/doc
......@@ -231,9 +239,9 @@ DOC_DIR = $(BUILD_DIR)/doc
ALLFILES := $(patsubst %,$(SRC_DIR)/%,$(FILELIST))
ALLFILES := $(shell /bin/ls $(ALLFILES))
# tools.jar is used by the sa-jdi binding
CLASSPATH = $(JDK_HOME)/lib/tools.jar
# tools.jar is needed by the JDI - SA binding
CLASSPATH = $(LIB_DIR)/maf-1_0.jar$(CPS)$(JDK_HOME)/lib/tools.jar
CLASSPATH := $(subst \,/,$(CLASSPATH))
# FIXME: autogenerate call to rmic
......@@ -241,24 +249,36 @@ CLASSPATH := $(subst \,/,$(CLASSPATH))
SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties
JAVAC = $(JDK_HOME)/bin/javac
JAVADOC = $(JDK_HOME)/bin/javadoc
RMIC = $(JDK_HOME)/bin/rmic
# Tagging it on because there's no reason not to run it
all: filelist
@mkdir -p $(OUTPUT_DIR)
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
@${JDK_HOME}/bin/javac -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
$(JAVAC) -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
$(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/
allprof: filelist
@mkdir -p $(OUTPUT_DIR)
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
@${JDK_HOME}/bin/javac -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
@${JDK_HOME}/bin/rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
$(JAVAC) -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
$(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/
.PHONY: filelist
filelist: $(ALLFILES)
@if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \
echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA."; \
......@@ -274,36 +294,23 @@ natives:
.PHONY: sa-jdi.jar
sa-jdi.jar:
if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \
echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA.";\
exit 1; \
fi
rm -f $(BUILD_DIR)/sa-jdi.jar
rm -f $(OUTPUT_DIR)/jdi_class_files
javac -source 1.4 ClosureFinder.java -d $(OUTPUT_DIR)
cd $(OUTPUT_DIR) ; find sun/jvm/hotspot/jdi -name "*.class" > jdi_class_files
cd $(OUTPUT_DIR) ; jar cvf ../sa-jdi.jar `java ClosureFinder jdi_class_files .`
cd $(BUILD_DIR) ; jar uvf sa-jdi.jar -C $(SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
cd $(BUILD_DIR) ; jar uvf sa-jdi.jar -C $(OUTPUT_DIR) sa.properties
rm -f $(OUTPUT_DIR)/ClosureFinder.class
rm -f $(OUTPUT_DIR)/jdi_class_files
echo "sa-jdi.jar is built by a hotspot build."
docs:
@javadoc -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST)
@$(JAVADOC) -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST)
sizes: $(ALLFILES)
wc -l $(ALLFILES)
cscope: $(ALLFILES)
rm -f java.files
echo $(ALLFILES) > java.files
cscope -b -i java.files -f java.out
rm -f java.files
.PHONY: sa.jar
sa.jar:
rm -f $(BUILD_DIR)/sa.jar
mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
cd $(OUTPUT_DIR) ; jar cvf ../sa.jar *
clean::
......
......@@ -22,4 +22,4 @@ REM have any questions.
REM
REM
java -showversion -cp ..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar sun.jvm.hotspot.bugspot.Main
java -showversion -cp ..\build\classes;..\src\share\lib\js.jar;.\sa.jar;lib\js.jar sun.jvm.hotspot.bugspot.Main
......@@ -42,7 +42,6 @@
<property name="app.name" value="sa"/>
<property name="dist.jar" value="${app.name}.jar"/>
<property name="libs" value="../src/share/lib"/>
<property name="classes" value="../build/classes"/>
<!-- The "prepare" target is used to construct the deployment home
......@@ -83,11 +82,6 @@
home directory structure will be created if needed the first time.
-->
<path id="javac.classpath">
<pathelement path="${libs}/maf-1_0.jar" />
<pathelement path="${libs}/jlfgr-1_0.jar" />
</path>
<target name="compile" depends="prepare" description="Compiles the sources">
<javac srcdir="../src/share/classes"
destdir="${classes}"
......@@ -110,6 +104,18 @@
<copy todir="${classes}/sun/jvm/hotspot/ui/resources">
<fileset dir="../src/share/classes/sun/jvm/hotspot/ui/resources" includes="*.png" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/development/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/development/" includes="*.gif" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/general/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/general/" includes="*.gif" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/navigation/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/navigation/" includes="*.gif" />
</copy>
<copy todir="${classes}/toolbarButtonGraphics/text/">
<fileset dir="../src/share/classes/images/toolbarButtonGraphics/text/" includes="*.gif" />
</copy>
<jar jarfile="${classes}/${dist.jar}"
basedir="${classes}"/>
......
......@@ -22,4 +22,4 @@ REM have any questions.
REM
REM
java -showversion -cp ..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar sun.jvm.hotspot.HSDB %1 %2
java -showversion -cp ..\build\classes;..\src\share\lib\js.jar;.\sa.jar;lib\js.jar sun.jvm.hotspot.HSDB %1 %2
......@@ -29,4 +29,4 @@ if [ "x$SA_JAVA" = "x" ]; then
SA_JAVA=java
fi
$SA_JAVA -showversion -cp $STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar sun.jvm.hotspot.HSDB $*
$SA_JAVA -showversion -cp $STARTDIR/../build/classes:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/js.jar sun.jvm.hotspot.HSDB $*
......@@ -39,7 +39,7 @@ set SA_JAVA=java
:sa_java_set
set SA_CLASSPATH=..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar
set SA_CLASSPATH=..\build\classes;..\src\share\lib\js.jar;sa.jar;lib\js.jar
set SA_LIBPATH=..\src\os\win32\windbg\i386;.\win32\i386
......
......@@ -58,7 +58,7 @@ if [ "x$SA_DISABLE_VERS_CHK" != "x" ]; then
fi
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/js.jar
OPTIONS="-Djava.system.class.loader=sun.jvm.hotspot.SALauncherLoader ${OPTIONS}"
......
......@@ -43,7 +43,7 @@ set SA_JAVA=java
:sa_java_set
set SA_CLASSPATH=..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar
set SA_CLASSPATH=..\build\classes;..\src\share\lib\js.jar;sa.jar;lib\js.jar
REM For now, only AMD-64, IA-64 stack walking is not working anyway
set SA_LIBPATH=.\src\os\win32\windbg\amd64;.\win32\amd64
......
......@@ -55,7 +55,7 @@ if [ "x$SA_DISABLE_VERS_CHK" != "x" ]; then
OPTIONS="-Dsun.jvm.hotspot.runtime.VM.disableVersionCheck ${OPTIONS}"
fi
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar::$STARTDIR/lib/js.jar
OPTIONS="-Djava.system.class.loader=sun.jvm.hotspot.SALauncherLoader ${OPTIONS}"
......
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class AboutAction extends DelegateAction
{
public AboutAction()
{
this("general/About16.gif");
}
public AboutAction(String iconPath)
{
super("About...", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "about-command");
putValue("ShortDescription", "About...");
putValue("LongDescription", "System information and version of the application.");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public static final String VALUE_COMMAND = "about-command";
public static final String VALUE_NAME = "About...";
public static final String VALUE_SMALL_ICON = "general/About16.gif";
public static final String VALUE_LARGE_ICON = "general/About24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(65);
public static final String VALUE_SHORT_DESCRIPTION = "About...";
public static final String VALUE_LONG_DESCRIPTION = "System information and version of the application.";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.util.HashMap;
import javax.swing.Action;
import javax.swing.ImageIcon;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, StateChangeAction, ActionUtilities
public abstract class ActionManager
{
protected ActionManager()
{
actions = new HashMap();
addActions();
}
public static ActionManager getInstance()
{
return manager;
}
protected abstract void addActions();
protected void addAction(String cmdname, Action action)
{
actions.put(cmdname, action);
}
public Action getAction(String key)
{
return (Action)actions.get(key);
}
public DelegateAction getDelegateAction(String name)
{
Action a = getAction(name);
if(a instanceof DelegateAction)
return (DelegateAction)a;
else
return null;
}
public StateChangeAction getStateChangeAction(String name)
{
Action a = getAction(name);
if(a instanceof StateChangeAction)
return (StateChangeAction)a;
else
return null;
}
public static ImageIcon getIcon(String name)
{
return utilities.getIcon(name);
}
public void setActionEnabled(String name, boolean enabled)
{
Action action = getAction(name);
if(action != null)
action.setEnabled(enabled);
}
private HashMap actions;
private static ActionUtilities utilities = new ActionUtilities();
protected static ActionManager manager;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.ImageIcon;
class ActionUtilities
{
ActionUtilities()
{
}
public ImageIcon getIcon(String name)
{
String imagePath = "/toolbarButtonGraphics/" + name;
java.net.URL url = getClass().getResource(imagePath);
if(url != null)
return new ImageIcon(url);
else
return null;
}
public static final String IMAGE_DIR = "/toolbarButtonGraphics/";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// StateChangeAction, ActionManager
public class AlignCenterAction extends StateChangeAction
{
public AlignCenterAction()
{
this("text/AlignCenter16.gif");
}
public AlignCenterAction(String iconPath)
{
super("Center", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "align-center-command");
putValue("ShortDescription", "Center");
putValue("LongDescription", "Adjust the placement of text to the center of the line");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "align-center-command";
public static final String VALUE_NAME = "Center";
public static final String VALUE_SMALL_ICON = "text/AlignCenter16.gif";
public static final String VALUE_LARGE_ICON = "text/AlignCenter24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(78);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(69, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Center";
public static final String VALUE_LONG_DESCRIPTION = "Adjust the placement of text to the center of the line";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// StateChangeAction, ActionManager
public class AlignLeftAction extends StateChangeAction
{
public AlignLeftAction()
{
this("text/AlignLeft16.gif");
}
public AlignLeftAction(String iconPath)
{
super("Left Align", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "align-left-command");
putValue("ShortDescription", "Left Align");
putValue("LongDescription", "Adjust the placement of text along the left edge");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "align-left-command";
public static final String VALUE_NAME = "Left Align";
public static final String VALUE_SMALL_ICON = "text/AlignLeft16.gif";
public static final String VALUE_LARGE_ICON = "text/AlignLeft24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(76);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(76, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Left Align";
public static final String VALUE_LONG_DESCRIPTION = "Adjust the placement of text along the left edge";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// StateChangeAction, ActionManager
public class AlignRightAction extends StateChangeAction
{
public AlignRightAction()
{
this("text/AlignRight16.gif");
}
public AlignRightAction(String iconPath)
{
super("Right Align", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "align-right-command");
putValue("ShortDescription", "Right Align");
putValue("LongDescription", "Adjust the placement of text along the right edge");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "align-right-command";
public static final String VALUE_NAME = "Right Align";
public static final String VALUE_SMALL_ICON = "text/AlignRight16.gif";
public static final String VALUE_LARGE_ICON = "text/AlignRight24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(82);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(82, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Right Align";
public static final String VALUE_LONG_DESCRIPTION = "Adjust the placement of text along the right edge";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class ApplyAction extends DelegateAction
{
public ApplyAction()
{
this(VALUE_SMALL_ICON);
}
public ApplyAction(String iconPath)
{
super("Apply", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "apply-command");
putValue("ShortDescription", "Apply the activity");
putValue("LongDescription", "Apply the activity");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "apply-command";
public static final String VALUE_NAME = "Apply";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(65);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Apply the activity";
public static final String VALUE_LONG_DESCRIPTION = "Apply the activity";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class BackAction extends DelegateAction
{
public BackAction()
{
this(VALUE_SMALL_ICON);
}
public BackAction(String iconPath)
{
super("< Back", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "back-command");
putValue("ShortDescription", "Select previous item");
putValue("LongDescription", "Select previous item");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "back-command";
public static final String VALUE_NAME = "< Back";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(66);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Select previous item";
public static final String VALUE_LONG_DESCRIPTION = "Select previous item";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class CancelAction extends DelegateAction
{
public CancelAction()
{
this(VALUE_SMALL_ICON);
}
public CancelAction(String iconPath)
{
super("Cancel", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "cancel-command");
putValue("ShortDescription", "Cancels the action");
putValue("LongDescription", "Cancels the action");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "cancel-command";
public static final String VALUE_NAME = "Cancel";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(67);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Cancels the action";
public static final String VALUE_LONG_DESCRIPTION = "Cancels the action";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractAction;
import javax.swing.Icon;
public abstract class DelegateAction extends AbstractAction
{
public DelegateAction(String name, Icon icon)
{
super(name, icon);
}
public void addActionListener(ActionListener listener)
{
this.listener = listener;
}
public void removeActionListener(ActionListener listener)
{
this.listener = null;
}
public ActionListener[] getActionListeners()
{
return (new ActionListener[] {
listener
});
}
public void actionPerformed(ActionEvent evt)
{
if(listener != null)
listener.actionPerformed(evt);
}
private ActionListener listener;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class ExitAction extends DelegateAction
{
public ExitAction()
{
super("Exit", ActionManager.getIcon(VALUE_SMALL_ICON));
putValue("ActionCommandKey", "exit-command");
putValue("ShortDescription", "Exits the application");
putValue("LongDescription", "Exits the application");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "exit-command";
public static final String VALUE_NAME = "Exit";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(88);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Exits the application";
public static final String VALUE_LONG_DESCRIPTION = "Exits the application";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
public class FileMenu extends AbstractAction
{
public FileMenu()
{
super("File");
putValue("ActionCommandKey", "file-menu-command");
putValue("ShortDescription", "File operations");
putValue("LongDescription", "File operations");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public void actionPerformed(ActionEvent actionevent)
{
}
public static final String VALUE_COMMAND = "file-menu-command";
public static final String VALUE_NAME = "File";
public static final Integer VALUE_MNEMONIC = new Integer(70);
public static final String VALUE_SHORT_DESCRIPTION = "File operations";
public static final String VALUE_LONG_DESCRIPTION = "File operations";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class FinishAction extends DelegateAction
{
public FinishAction()
{
this(VALUE_SMALL_ICON);
}
public FinishAction(String iconPath)
{
super("Finish", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "finish-command");
putValue("ShortDescription", "Finish the activity");
putValue("LongDescription", "Finish the activity");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "finish-command";
public static final String VALUE_NAME = "Finish";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(70);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Finish the activity";
public static final String VALUE_LONG_DESCRIPTION = "Finish the activity";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class HelpAction extends DelegateAction
{
public HelpAction()
{
this("general/Help16.gif");
}
public HelpAction(String iconPath)
{
super("Help", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "help-command");
putValue("ShortDescription", "Help...");
putValue("LongDescription", "Provide information which may aid the user.");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "help-command";
public static final String VALUE_NAME = "Help";
public static final String VALUE_SMALL_ICON = "general/Help16.gif";
public static final String VALUE_LARGE_ICON = "general/Help24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(72);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(112, 0);
public static final String VALUE_SHORT_DESCRIPTION = "Help...";
public static final String VALUE_LONG_DESCRIPTION = "Provide information which may aid the user.";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
public class HelpMenu extends AbstractAction
{
public HelpMenu()
{
super("Help");
putValue("ActionCommandKey", "help-menu-command");
putValue("ShortDescription", "Help operations");
putValue("LongDescription", "Help operations");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public void actionPerformed(ActionEvent actionevent)
{
}
public static final String VALUE_COMMAND = "help-menu-command";
public static final String VALUE_NAME = "Help";
public static final Integer VALUE_MNEMONIC = new Integer(72);
public static final String VALUE_SHORT_DESCRIPTION = "Help operations";
public static final String VALUE_LONG_DESCRIPTION = "Help operations";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class NewAction extends DelegateAction
{
public NewAction()
{
this("general/New16.gif");
}
public NewAction(String iconPath)
{
super("New", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "new-command");
putValue("ShortDescription", "Create a new object.");
putValue("LongDescription", "Create a new object.");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "new-command";
public static final String VALUE_NAME = "New";
public static final String VALUE_SMALL_ICON = "general/New16.gif";
public static final String VALUE_LARGE_ICON = "general/New24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(78);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(78, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Create a new object.";
public static final String VALUE_LONG_DESCRIPTION = "Create a new object.";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class NextAction extends DelegateAction
{
public NextAction()
{
this(VALUE_SMALL_ICON);
}
public NextAction(String iconPath)
{
super("Next >", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "next-command");
putValue("ShortDescription", "Select next item");
putValue("LongDescription", "Select next item");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "next-command";
public static final String VALUE_NAME = "Next >";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(78);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Select next item";
public static final String VALUE_LONG_DESCRIPTION = "Select next item";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class OkAction extends DelegateAction
{
public OkAction()
{
this(VALUE_SMALL_ICON);
}
public OkAction(String iconPath)
{
super("OK", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "ok-command");
putValue("ShortDescription", "Acknowleges the action");
putValue("LongDescription", "Acknowleges the action");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "ok-command";
public static final String VALUE_NAME = "OK";
public static final String VALUE_SMALL_ICON = null;
public static final String VALUE_LARGE_ICON = null;
public static final Integer VALUE_MNEMONIC = new Integer(79);
public static final KeyStroke VALUE_ACCELERATOR = null;
public static final String VALUE_SHORT_DESCRIPTION = "Acknowleges the action";
public static final String VALUE_LONG_DESCRIPTION = "Acknowleges the action";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class OpenAction extends DelegateAction
{
public OpenAction()
{
this("general/Open16.gif");
}
public OpenAction(String iconPath)
{
super("Open...", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "open-command");
putValue("ShortDescription", "Open the specified object.");
putValue("LongDescription", "Open the specified object.");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "open-command";
public static final String VALUE_NAME = "Open...";
public static final String VALUE_SMALL_ICON = "general/Open16.gif";
public static final String VALUE_LARGE_ICON = "general/Open24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(79);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(79, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Open the specified object.";
public static final String VALUE_LONG_DESCRIPTION = "Open the specified object.";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import javax.swing.KeyStroke;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class SaveAction extends DelegateAction
{
public SaveAction()
{
this("general/Save16.gif");
}
public SaveAction(String iconPath)
{
super("Save", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "save-command");
putValue("ShortDescription", "Commit changes to a permanent storage area");
putValue("LongDescription", "Commit changes to a permanent storage area");
putValue("MnemonicKey", VALUE_MNEMONIC);
putValue("AcceleratorKey", VALUE_ACCELERATOR);
}
public static final String VALUE_COMMAND = "save-command";
public static final String VALUE_NAME = "Save";
public static final String VALUE_SMALL_ICON = "general/Save16.gif";
public static final String VALUE_LARGE_ICON = "general/Save24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(83);
public static final KeyStroke VALUE_ACCELERATOR = KeyStroke.getKeyStroke(83, 2);
public static final String VALUE_SHORT_DESCRIPTION = "Commit changes to a permanent storage area";
public static final String VALUE_LONG_DESCRIPTION = "Commit changes to a permanent storage area";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction, ActionManager
public class SaveAsAction extends DelegateAction
{
public SaveAsAction()
{
this("general/SaveAs16.gif");
}
public SaveAsAction(String iconPath)
{
super("Save As", ActionManager.getIcon(iconPath));
putValue("ActionCommandKey", "save-as-command");
putValue("ShortDescription", "Save as a new file");
putValue("LongDescription", "Saves the current object as another object");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public static final String VALUE_COMMAND = "save-as-command";
public static final String VALUE_NAME = "Save As";
public static final String VALUE_SMALL_ICON = "general/SaveAs16.gif";
public static final String VALUE_LARGE_ICON = "general/SaveAs24.gif";
public static final Integer VALUE_MNEMONIC = new Integer(65);
public static final String VALUE_SHORT_DESCRIPTION = "Save as a new file";
public static final String VALUE_LONG_DESCRIPTION = "Saves the current object as another object";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.Icon;
// Referenced classes of package com.sun.java.swing.action:
// DelegateAction
public abstract class StateChangeAction extends DelegateAction
implements ItemListener
{
public StateChangeAction(String name)
{
super(name, null);
selected = false;
}
public StateChangeAction(String name, Icon icon)
{
super(name, icon);
selected = false;
}
public boolean isSelected()
{
return selected;
}
public synchronized void setSelected(boolean newValue)
{
boolean oldValue = selected;
if(oldValue != newValue)
{
selected = newValue;
firePropertyChange("selected", Boolean.valueOf(oldValue), Boolean.valueOf(newValue));
}
}
public void setItemListener(ItemListener listener)
{
this.listener = listener;
}
public ItemListener getItemListener()
{
return listener;
}
public void itemStateChanged(ItemEvent evt)
{
if(evt.getStateChange() == 1)
setSelected(true);
else
setSelected(false);
if(listener != null)
listener.itemStateChanged(evt);
}
protected boolean selected;
private ItemListener listener;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
public class ViewMenu extends AbstractAction
{
public ViewMenu()
{
super("View");
putValue("ActionCommandKey", "view-menu-command");
putValue("ShortDescription", "View operations");
putValue("LongDescription", "View operations");
putValue("MnemonicKey", VALUE_MNEMONIC);
}
public void actionPerformed(ActionEvent actionevent)
{
}
public static final String VALUE_COMMAND = "view-menu-command";
public static final String VALUE_NAME = "View";
public static final Integer VALUE_MNEMONIC = new Integer(86);
public static final String VALUE_SHORT_DESCRIPTION = "View operations";
public static final String VALUE_LONG_DESCRIPTION = "View operations";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.ActionManager;
import com.sun.java.swing.action.StateChangeAction;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// ToggleActionPropertyChangeListener, StatusBar
public abstract class CommonMenuBar extends JMenuBar
{
protected CommonMenuBar(ActionManager manager)
{
this(manager, StatusBar.getInstance());
}
protected CommonMenuBar(ActionManager manager, StatusBar status)
{
this.manager = manager;
statusBar = status;
configureMenu();
}
protected abstract void configureMenu();
protected void configureToggleMenuItem(JMenuItem menuItem, Action action)
{
configureMenuItem(menuItem, action);
action.addPropertyChangeListener(new ToggleActionPropertyChangeListener(menuItem));
}
protected void configureMenuItem(JMenuItem menuItem, Action action)
{
menuItem.addMouseListener(statusBar);
}
protected JMenu createMenu(String name, char mnemonic)
{
JMenu menu = new JMenu(name);
menu.setMnemonic(mnemonic);
return menu;
}
protected void addMenuItem(JMenu menu, Action action)
{
JMenuItem menuItem = menu.add(action);
configureMenuItem(menuItem, action);
}
protected void addCheckBoxMenuItem(JMenu menu, StateChangeAction a)
{
addCheckBoxMenuItem(menu, a, false);
}
protected void addCheckBoxMenuItem(JMenu menu, StateChangeAction a, boolean selected)
{
JCheckBoxMenuItem mi = new JCheckBoxMenuItem(a);
mi.addItemListener(a);
mi.setSelected(selected);
menu.add(mi);
configureToggleMenuItem(mi, a);
}
protected void addRadioButtonMenuItem(JMenu menu, ButtonGroup group, StateChangeAction a)
{
addRadioButtonMenuItem(menu, group, a, false);
}
protected void addRadioButtonMenuItem(JMenu menu, ButtonGroup group, StateChangeAction a, boolean selected)
{
JRadioButtonMenuItem mi = new JRadioButtonMenuItem(a);
mi.addItemListener(a);
mi.setSelected(selected);
menu.add(mi);
if(group != null)
group.add(mi);
configureToggleMenuItem(mi, a);
}
protected ActionManager manager;
private StatusBar statusBar;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.ActionManager;
import com.sun.java.swing.action.StateChangeAction;
import java.awt.Dimension;
import java.awt.Insets;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// ToggleActionPropertyChangeListener, StatusBar, CommonUI
public abstract class CommonToolBar extends JToolBar
{
protected CommonToolBar(ActionManager manager)
{
this(manager, StatusBar.getInstance());
}
protected CommonToolBar(ActionManager manager, StatusBar status)
{
this.manager = manager;
statusBar = status;
buttonSize = new Dimension(CommonUI.buttconPrefSize);
buttonInsets = new Insets(0, 0, 0, 0);
addComponents();
}
protected abstract void addComponents();
protected void addButton(Action action)
{
javax.swing.JButton button = add(action);
configureButton(button, action);
}
protected void addToggleButton(StateChangeAction a)
{
addToggleButton(a, null);
}
protected void addToggleButton(StateChangeAction a, ButtonGroup group)
{
JToggleButton button = new JToggleButton(a);
button.addItemListener(a);
button.setSelected(a.isSelected());
if(group != null)
group.add(button);
add(button);
configureToggleButton(button, a);
}
protected void configureToggleButton(JToggleButton button, Action action)
{
configureButton(button, action);
action.addPropertyChangeListener(new ToggleActionPropertyChangeListener(button));
}
protected void configureButton(AbstractButton button, Action action)
{
button.setToolTipText((String)action.getValue("Name"));
button.setText("");
button.addMouseListener(statusBar);
}
protected ActionManager manager;
private Dimension buttonSize;
private Insets buttonInsets;
private StatusBar statusBar;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.text.*;
public class CommonUI
{
private static class NumberDocument extends PlainDocument
{
public void insertString(int offs, String str, AttributeSet atts)
throws BadLocationException
{
if(!Character.isDigit(str.charAt(0)))
{
return;
} else
{
super.insertString(offs, str, atts);
return;
}
}
private NumberDocument()
{
}
}
public CommonUI()
{
}
public static JLabel createLabel(String text, int mnemonic, Component comp)
{
JLabel label = new JLabel(" " + text);
label.setMinimumSize(labelPrefSize);
if(mnemonic != -1)
label.setDisplayedMnemonic(mnemonic);
if(comp != null)
label.setLabelFor(comp);
if(text.length() == 0)
label.setPreferredSize(labelPrefSize);
return label;
}
public static JLabel createLabel(String text)
{
return createLabel(text, -1, null);
}
public static JTextField createTextField(String text, KeyListener listener, boolean numbers)
{
JTextField field = new JTextField(text);
field.setMinimumSize(textPrefSize);
if(text.length() == 0)
field.setPreferredSize(textPrefSize);
if(listener != null)
field.addKeyListener(listener);
if(numbers)
field.setDocument(new NumberDocument());
return field;
}
public static JTextField createTextField(String text, boolean numbers)
{
return createTextField(text, null, numbers);
}
public static JTextField createTextField(String text, KeyListener listener)
{
return createTextField(text, listener, false);
}
public static JTextField createTextField(String text)
{
return createTextField(text, null, false);
}
public static JRadioButton createRadioButton(String text, int mnemonic, ActionListener listener, boolean selected)
{
JRadioButton button = new JRadioButton(text);
button.setMnemonic(mnemonic);
button.setSelected(selected);
button.setMinimumSize(labelPrefSize);
if(listener != null)
button.addActionListener(listener);
if(text.length() == 0)
button.setPreferredSize(labelPrefSize);
return button;
}
public static JRadioButton createRadioButton(String text, int mnemonic, boolean selected)
{
return createRadioButton(text, mnemonic, null, selected);
}
public static JRadioButton createRadioButton(String text, int mnemonic, ActionListener listener)
{
return createRadioButton(text, mnemonic, listener, false);
}
public static JRadioButton createRadioButton(String text, int mnemonic)
{
return createRadioButton(text, mnemonic, null, false);
}
public static JRadioButton createRadioButton(String text)
{
return createRadioButton(text, -1, null, false);
}
public static JCheckBox createCheckBox(String text, int mnemonic, ActionListener listener, boolean selected)
{
JCheckBox checkbox = new JCheckBox(text);
checkbox.setMinimumSize(labelPrefSize);
if(mnemonic != -1)
checkbox.setMnemonic(mnemonic);
checkbox.setSelected(selected);
if(text.length() == 0)
checkbox.setPreferredSize(labelPrefSize);
if(listener != null)
checkbox.addActionListener(listener);
return checkbox;
}
public static JCheckBox createCheckBox(String text, int mnemonic, ActionListener listener)
{
return createCheckBox(text, mnemonic, listener, false);
}
public static JCheckBox createCheckBox(String text, int mnemonic, boolean selected)
{
return createCheckBox(text, mnemonic, null, selected);
}
public static JCheckBox createCheckBox(String text, int mnemonic)
{
return createCheckBox(text, mnemonic, null, false);
}
public static JCheckBox createCheckBox(String text)
{
return createCheckBox(text, -1, null, false);
}
public static JComboBox createComboBox(Object items[], ActionListener listener, boolean editable)
{
JComboBox comboBox = new JComboBox(items);
if(listener != null)
comboBox.addActionListener(listener);
comboBox.setEditable(editable);
return comboBox;
}
public static JComboBox createComboBox(Object items[], boolean editable)
{
return createComboBox(items, null, editable);
}
public static JComboBox createComboBox(Vector items, ActionListener listener, boolean editable)
{
JComboBox comboBox = new JComboBox(items);
if(listener != null)
comboBox.addActionListener(listener);
comboBox.setEditable(editable);
return comboBox;
}
public static JComboBox createComboBox(Vector items, boolean editable)
{
return createComboBox(items, null, editable);
}
public static JButton createButton(Action action)
{
JButton button = new JButton(action);
setButtonSize(button, buttonPrefSize);
return button;
}
public static JButton createButton(String text, ActionListener listener, int mnemonic)
{
JButton button = new JButton(text);
if(listener != null)
button.addActionListener(listener);
if(mnemonic != -1)
button.setMnemonic(mnemonic);
setButtonSize(button, buttonPrefSize);
return button;
}
private static void setButtonSize(JButton button, Dimension size)
{
String text = button.getText();
button.setMinimumSize(size);
if(text.length() == 0)
{
button.setPreferredSize(size);
} else
{
Dimension psize = button.getPreferredSize();
if(psize.width < size.width)
button.setPreferredSize(size);
}
}
public static JButton createButton(String text, ActionListener listener)
{
return createButton(text, listener, -1);
}
public static JButton createSmallButton(String text, ActionListener listener, int mnemonic)
{
JButton button = createButton(text, listener, mnemonic);
setButtonSize(button, smbuttonPrefSize);
return button;
}
public static JButton createSmallButton(String text, ActionListener listener)
{
return createSmallButton(text, listener, -1);
}
public static Border createBorder(String text)
{
Border border = BorderFactory.createEtchedBorder();
return BorderFactory.createTitledBorder(border, text, 0, 2);
}
public static Border createBorder()
{
return BorderFactory.createEmptyBorder(4, 4, 4, 4);
}
public static JScrollPane createListPane(JList list, String text)
{
JScrollPane pane = new JScrollPane(list);
pane.setBorder(BorderFactory.createCompoundBorder(createBorder(text), BorderFactory.createLoweredBevelBorder()));
return pane;
}
public static void centerComponent(Component source, Component parent)
{
Dimension dim = source.getSize();
Rectangle rect;
if(parent != null)
{
rect = parent.getBounds();
} else
{
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
rect = new Rectangle(0, 0, d.width, d.height);
}
int x = rect.x + (rect.width - dim.width) / 2;
int y = rect.y + (rect.height - dim.height) / 2;
source.setLocation(x, y);
}
public static void centerComponent(Component source)
{
centerComponent(source, null);
}
public static JFrame getParentFrame(Component source)
{
Container parent;
for(parent = source.getParent(); parent != null; parent = parent.getParent())
if(parent instanceof JFrame)
break;
if(parent == null)
return null;
else
return (JFrame)parent;
}
public static Integer msToSec(Integer ms)
{
int value = ms.intValue();
value /= 1000;
return new Integer(value);
}
public static Integer secToMs(Integer sec)
{
int value = sec.intValue();
value *= 1000;
return new Integer(value);
}
public static String stringFromStringArray(String strings[], String delim)
{
String string = "";
String separator;
if(delim == null || delim.equals(""))
separator = " ";
else
separator = delim;
for(int i = 0; i < strings.length; i++)
{
string = string + strings[i];
string = string + separator;
}
return string;
}
public static String stringFromStringArray(String strings[])
{
return stringFromStringArray(strings, "");
}
public static String[] stringArrayFromString(String string, String delim)
{
StringTokenizer st;
if(delim == null || delim.equals(""))
st = new StringTokenizer(string);
else
st = new StringTokenizer(string, delim);
int numTokens = st.countTokens();
String strings[] = new String[numTokens];
int index = 0;
while(st.hasMoreTokens())
strings[index++] = st.nextToken();
return strings;
}
public static String[] stringArrayFromString(String string)
{
return stringArrayFromString(string, "");
}
public static void setWaitCursor(Component comp)
{
comp.setCursor(Cursor.getPredefinedCursor(3));
}
public static void setDefaultCursor(Component comp)
{
comp.setCursor(Cursor.getPredefinedCursor(0));
}
public static final int BUTTON_WIDTH = 100;
public static final int BUTTON_HEIGHT = 26;
public static final int BUTTCON_WIDTH = 28;
public static final int BUTTCON_HEIGHT = 28;
public static final int SM_BUTTON_WIDTH = 72;
public static final int SM_BUTTON_HEIGHT = 26;
public static final int LABEL_WIDTH = 100;
public static final int LABEL_HEIGHT = 20;
public static final int TEXT_WIDTH = 150;
public static final int TEXT_HEIGHT = 20;
public static Dimension buttonPrefSize = new Dimension(100, 26);
public static Dimension buttconPrefSize = new Dimension(28, 28);
public static Dimension smbuttonPrefSize = new Dimension(72, 26);
public static Dimension labelPrefSize = new Dimension(100, 20);
public static Dimension textPrefSize = new Dimension(150, 20);
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.*;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
// Referenced classes of package com.sun.java.swing.ui:
// CommonUI
public class OkCancelButtonPanel extends JPanel
{
public OkCancelButtonPanel(ActionListener listener)
{
DelegateAction okAction = new OkAction();
okAction.addActionListener(listener);
DelegateAction cancelAction = new CancelAction();
cancelAction.addActionListener(listener);
add(CommonUI.createButton(okAction));
add(CommonUI.createButton(cancelAction));
}
public static final String OK_COMMAND = "ok-command";
public static final String CANCEL_COMMAND = "cancel-command";
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JPanel;
// Referenced classes of package com.sun.java.swing.ui:
// OkCancelButtonPanel, CommonUI
public class OkCancelDialog extends JDialog
implements ActionListener
{
public OkCancelDialog(String title, JPanel panel)
{
this(title, panel, true);
}
public OkCancelDialog(String title, JPanel panel, boolean modal)
{
setTitle(title);
setModal(modal);
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
pane.add(panel, "Center");
pane.add(new OkCancelButtonPanel(this), "South");
pack();
CommonUI.centerComponent(this);
}
public boolean isOk()
{
return okPressed;
}
public void actionPerformed(ActionEvent evt)
{
String command = evt.getActionCommand();
if(command.equals("ok-command"))
{
okPressed = true;
setVisible(false);
dispose();
} else
if(command.equals("cancel-command"))
{
okPressed = false;
setVisible(false);
dispose();
}
}
private boolean okPressed;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.*;
import javax.swing.ImageIcon;
public class SplashScreen extends Window
{
public SplashScreen(Frame f)
{
super(f);
setBackground(Color.white);
java.net.URL url = getClass().getResource("/images/SplashScreen.jpg");
if(url != null)
{
screen = new ImageIcon(url);
MediaTracker mt = new MediaTracker(this);
mt.addImage(screen.getImage(), 0);
try
{
mt.waitForAll();
}
catch(Exception ex) { }
}
}
public void setVisible(boolean val)
{
if(screen == null)
return;
if(val)
{
setSize(screen.getIconWidth(), screen.getIconHeight());
setLocation(-500, -500);
super.setVisible(true);
Dimension d = getToolkit().getScreenSize();
Insets i = getInsets();
int w = screen.getIconWidth() + i.left + i.right;
int h = screen.getIconHeight() + i.top + i.bottom;
setSize(w, h);
setLocation(d.width / 2 - w / 2, d.height / 2 - h / 2);
} else
{
super.setVisible(false);
}
}
public void paint(Graphics g)
{
if(screen != null)
{
Dimension d = getSize();
g.setColor(Color.black);
g.drawRect(0, 0, d.width - 1, d.height - 1);
g.drawImage(screen.getImage(), 1, 1, this);
}
}
private ImageIcon screen;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class StatusBar extends JPanel
implements ActionListener, MouseListener
{
public StatusBar()
{
setLayout(new FlowLayout(0));
setBorder(BorderFactory.createEtchedBorder());
progressBar = new JProgressBar(0, 0, 100);
progressBar.setPreferredSize(new Dimension(60, progressBar.getPreferredSize().height + 2));
progressBar.setVisible(false);
label = new JLabel(" ");
preferredSize = new Dimension(getWidth(label.getText()), 2 * getFontHeight());
add(progressBar);
add(label);
}
public static StatusBar getInstance()
{
if(statusBar == null)
statusBar = new StatusBar();
return statusBar;
}
public static void setInstance(StatusBar sb)
{
statusBar = sb;
}
protected int getWidth(String s)
{
FontMetrics fm = getFontMetrics(getFont());
if(fm == null)
return 0;
else
return fm.stringWidth(s);
}
protected int getFontHeight()
{
FontMetrics fm = getFontMetrics(getFont());
if(fm == null)
return 0;
else
return fm.getHeight();
}
public Dimension getPreferredSize()
{
return preferredSize;
}
public void setMessage(String message)
{
label.setText(message);
label.repaint();
}
public void startBusyBar()
{
forward = true;
if(timer == null)
{
setMessage("");
progressBar.setVisible(true);
timer = new Timer(15, this);
timer.start();
}
}
public void stopBusyBar()
{
if(timer != null)
{
timer.stop();
timer = null;
}
setMessage("");
progressBar.setVisible(false);
progressBar.setValue(0);
}
public void actionPerformed(ActionEvent evt)
{
int value = progressBar.getValue();
if(forward)
{
if(value < 100)
{
progressBar.setValue(value + 1);
} else
{
forward = false;
progressBar.setValue(value - 1);
}
} else
if(value > 0)
{
progressBar.setValue(value - 1);
} else
{
forward = true;
progressBar.setValue(value + 1);
}
}
public void mouseClicked(MouseEvent mouseevent)
{
}
public void mousePressed(MouseEvent mouseevent)
{
}
public void mouseReleased(MouseEvent mouseevent)
{
}
public void mouseExited(MouseEvent evt)
{
setMessage("");
}
public void mouseEntered(MouseEvent evt)
{
if(evt.getSource() instanceof AbstractButton)
{
AbstractButton button = (AbstractButton)evt.getSource();
Action action = button.getAction();
if(action != null)
{
String message = (String)action.getValue("LongDescription");
setMessage(message);
}
}
}
private static final int PROGRESS_MAX = 100;
private static final int PROGRESS_MIN = 0;
private JLabel label;
private Dimension preferredSize;
private JProgressBar progressBar;
private Timer timer;
private boolean forward;
private static StatusBar statusBar;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// CommonUI
public class TabsDlg extends JDialog
{
private class ApplyListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(applyListener != null)
{
applyListener.actionPerformed(evt);
enableApplyButton(false);
}
}
private ApplyListener()
{
}
}
private class CancelListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(cancelListener != null)
cancelListener.actionPerformed(evt);
setVisible(false);
}
private CancelListener()
{
}
}
private class OkListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(okListener != null)
okListener.actionPerformed(evt);
setVisible(false);
}
private OkListener()
{
}
}
public TabsDlg(String title, Vector panels)
{
super(new JFrame(), title, true);
okListener = null;
cancelListener = null;
applyListener = null;
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
tabsPanel = new JTabbedPane();
int numPanels = panels.size();
for(int i = 0; i < numPanels; i++)
{
JPanel panel = (JPanel)panels.elementAt(i);
tabsPanel.addTab(panel.getName(), panel);
}
pane.add(tabsPanel, "Center");
pane.add(createButtonPanel(), "South");
pack();
CommonUI.centerComponent(this);
}
public static void main(String args[])
{
JPanel p1 = new JPanel();
p1.add(new JButton("One"));
p1.setName("One");
JPanel p2 = new JPanel();
p2.add(new JButton("Two"));
p2.setName("Two");
JPanel p3 = new JPanel();
p3.add(new JButton("Three"));
p3.setName("Three");
JPanel p4 = new JPanel();
p4.add(new JButton("Four"));
p4.setName("Four");
Vector panels = new Vector();
panels.addElement(p1);
panels.addElement(p2);
panels.addElement(p3);
panels.addElement(p4);
tabsDlg = new TabsDlg("Test Dialog", panels);
tabsDlg.addOkListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
tabsDlg.addCancelListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
tabsDlg.setVisible(true);
}
private JPanel createButtonPanel()
{
JPanel panel = new JPanel();
okAction = new OkAction();
cancelAction = new CancelAction();
applyAction = new ApplyAction();
okAction.addActionListener(new OkListener());
cancelAction.addActionListener(new CancelListener());
applyAction.addActionListener(new ApplyListener());
panel.add(CommonUI.createButton(okAction));
panel.add(CommonUI.createButton(cancelAction));
panel.add(CommonUI.createButton(applyAction));
JPanel p2 = new JPanel(new BorderLayout());
p2.add(panel, "Center");
p2.add(new JSeparator(), "North");
return p2;
}
public void enableApplyButton(boolean enabled)
{
applyAction.setEnabled(enabled);
}
public synchronized void addOkListener(ActionListener l)
{
okListener = AWTEventMulticaster.add(okListener, l);
}
public synchronized void removeOkListener(ActionListener l)
{
okListener = AWTEventMulticaster.remove(okListener, l);
}
public synchronized void addCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.add(cancelListener, l);
}
public synchronized void removeCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.remove(cancelListener, l);
}
public synchronized void addApplyListener(ActionListener l)
{
applyListener = AWTEventMulticaster.add(applyListener, l);
}
public synchronized void removeApplyListener(ActionListener l)
{
applyListener = AWTEventMulticaster.remove(applyListener, l);
}
private JTabbedPane tabsPanel;
private DelegateAction okAction;
private DelegateAction cancelAction;
private DelegateAction applyAction;
private ActionListener okListener;
private ActionListener cancelListener;
private ActionListener applyListener;
private static TabsDlg tabsDlg;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.AbstractButton;
public class ToggleActionPropertyChangeListener
implements PropertyChangeListener
{
public ToggleActionPropertyChangeListener(AbstractButton button)
{
this.button = button;
}
public void propertyChange(PropertyChangeEvent evt)
{
String propertyName = evt.getPropertyName();
if(propertyName.equals("selected"))
{
Boolean selected = (Boolean)evt.getNewValue();
button.setSelected(selected.booleanValue());
}
}
private AbstractButton button;
}
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*
*/
package com.sun.java.swing.ui;
import com.sun.java.swing.action.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.*;
// Referenced classes of package com.sun.java.swing.ui:
// CommonUI
public class WizardDlg extends JDialog
{
private class CancelListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(cancelListener != null)
cancelListener.actionPerformed(evt);
setVisible(false);
}
private CancelListener()
{
}
}
private class FinishListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(finishListener != null)
finishListener.actionPerformed(evt);
setVisible(false);
}
private FinishListener()
{
}
}
private class NextListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
cardShowing++;
if(cardShowing > numCards)
cardShowing = numCards;
else
panesLayout.next(panesPanel);
if(nextListener != null)
nextListener.actionPerformed(evt);
enableBackNextButtons();
}
private NextListener()
{
}
}
private class BackListener
implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
cardShowing--;
if(cardShowing < 1)
cardShowing = 1;
else
panesLayout.previous(panesPanel);
if(backListener != null)
backListener.actionPerformed(evt);
enableBackNextButtons();
}
private BackListener()
{
}
}
public WizardDlg(JFrame frame, String title, Vector panels, Vector images)
{
super(frame, title, true);
this.title = title;
this.images = images;
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
panesLayout = new CardLayout();
panesPanel = new JPanel(panesLayout);
pane.add(panesPanel, "Center");
pane.add(createButtonPanel(), "South");
setPanels(panels);
pack();
CommonUI.centerComponent(this);
}
public WizardDlg(JFrame frame, String title, Vector panels)
{
this(frame, title, panels, null);
}
public WizardDlg(String title, Vector panels)
{
this(new JFrame(), title, panels, null);
}
public void setPanels(Vector panels)
{
numCards = panels.size();
cardShowing = 1;
this.panels = panels;
panesPanel.removeAll();
for(int i = 0; i < numCards; i++)
panesPanel.add((JPanel)panels.elementAt(i), (new Integer(i)).toString());
validate();
enableBackNextButtons();
}
public void reset()
{
cardShowing = 1;
panesLayout.first(panesPanel);
enableBackNextButtons();
}
public void setWestPanel(JPanel panel)
{
Container pane = getContentPane();
pane.add(panel, "West");
}
public static void main(String args[])
{
JPanel p1 = new JPanel();
p1.add(new JButton("One"));
JPanel p2 = new JPanel();
p2.add(new JButton("Two"));
JPanel p3 = new JPanel();
p3.add(new JButton("Three"));
JPanel p4 = new JPanel();
p4.add(new JButton("Four"));
Vector panels = new Vector();
panels.addElement(p1);
panels.addElement(p2);
panels.addElement(p3);
panels.addElement(p4);
wizardDlg = new WizardDlg("Test Dialog", panels);
wizardDlg.addFinishListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
wizardDlg.addCancelListener(new ActionListener() {
public void actionPerformed(ActionEvent evt)
{
System.exit(0);
}
}
);
wizardDlg.setVisible(true);
}
private JPanel createButtonPanel()
{
JPanel panel = new JPanel();
backAction = new BackAction();
nextAction = new NextAction();
finishAction = new FinishAction();
cancelAction = new CancelAction();
backAction.setEnabled(false);
finishAction.setEnabled(false);
backAction.addActionListener(new BackListener());
nextAction.addActionListener(new NextListener());
finishAction.addActionListener(new FinishListener());
cancelAction.addActionListener(new CancelListener());
panel.add(CommonUI.createButton(backAction));
panel.add(CommonUI.createButton(nextAction));
panel.add(CommonUI.createButton(finishAction));
panel.add(CommonUI.createButton(cancelAction));
JPanel p2 = new JPanel(new BorderLayout());
p2.add(panel, "Center");
p2.add(new JSeparator(), "North");
return p2;
}
private void enableBackNextButtons()
{
if(cardShowing == 1)
{
backAction.setEnabled(false);
finishAction.setEnabled(false);
if(numCards > 1)
{
nextAction.setEnabled(true);
} else
{
finishAction.setEnabled(true);
nextAction.setEnabled(false);
}
} else
if(cardShowing == numCards)
{
nextAction.setEnabled(false);
finishAction.setEnabled(true);
if(numCards > 1)
backAction.setEnabled(true);
else
backAction.setEnabled(false);
} else
{
backAction.setEnabled(true);
nextAction.setEnabled(true);
finishAction.setEnabled(false);
}
setTitle();
}
private void setTitle()
{
JPanel panel = (JPanel)panels.elementAt(cardShowing - 1);
String newTitle = title;
String panelTitle = panel.getName();
if(panelTitle != null && panelTitle.equals(""))
{
newTitle = newTitle + " - ";
newTitle = newTitle + panelTitle;
}
super.setTitle(newTitle);
}
public synchronized void addFinishListener(ActionListener l)
{
finishListener = AWTEventMulticaster.add(finishListener, l);
}
public synchronized void removeFinishListener(ActionListener l)
{
finishListener = AWTEventMulticaster.remove(finishListener, l);
}
public synchronized void addCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.add(cancelListener, l);
}
public synchronized void removeCancelListener(ActionListener l)
{
cancelListener = AWTEventMulticaster.remove(cancelListener, l);
}
public synchronized void addNextListener(ActionListener l)
{
nextListener = AWTEventMulticaster.add(nextListener, l);
}
public synchronized void removeNextListener(ActionListener l)
{
nextListener = AWTEventMulticaster.remove(nextListener, l);
}
public synchronized void addBackListener(ActionListener l)
{
backListener = AWTEventMulticaster.add(backListener, l);
}
public synchronized void removeBackListener(ActionListener l)
{
backListener = AWTEventMulticaster.remove(backListener, l);
}
private CardLayout panesLayout;
private JPanel panesPanel;
private DelegateAction backAction;
private DelegateAction nextAction;
private DelegateAction finishAction;
private DelegateAction cancelAction;
private ActionListener finishListener;
private ActionListener cancelListener;
private ActionListener nextListener;
private ActionListener backListener;
private int numCards;
private int cardShowing;
private String title;
private Vector panels;
private Vector images;
private static WizardDlg wizardDlg;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册