Imported GNU Classpath 0.19 + gcj-import-20051115.
* sources.am: Regenerated.
* Makefile.in: Likewise.
* scripts/makemake.tcl: Use glob -nocomplain.
From-SVN: r107049
This commit is contained in:
@@ -41,10 +41,8 @@ subdir = examples
|
||||
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.jawt.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
|
||||
$(top_srcdir)/../../config/lead-dot.m4 \
|
||||
$(top_srcdir)/../../config/no-executables.m4 \
|
||||
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/accross.m4 \
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
|
||||
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
|
||||
$(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
|
||||
@@ -86,10 +84,14 @@ CLASSPATH_MODULE = @CLASSPATH_MODULE@
|
||||
CP = @CP@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
|
||||
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
|
||||
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
|
||||
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
|
||||
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
|
||||
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
|
||||
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
|
||||
CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
|
||||
CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
|
||||
CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
|
||||
CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
|
||||
@@ -226,6 +228,7 @@ build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
default_toolkit = @default_toolkit@
|
||||
exec_prefix = @exec_prefix@
|
||||
glibjdir = @glibjdir@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
@@ -239,6 +242,7 @@ libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
nativelibdir = @nativelibdir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
|
||||
@@ -73,7 +73,7 @@ import org.omg.CosNaming.NamingContextHelper;
|
||||
*/
|
||||
public class Demo
|
||||
{
|
||||
public static void main(final String[] args)
|
||||
public static void main(String[] an_args)
|
||||
{
|
||||
// We create the following naming graph:
|
||||
// <ROOT CONTEXT>
|
||||
@@ -90,6 +90,8 @@ public class Demo
|
||||
System.out.println("Starting the GNU Classpath " +
|
||||
"built-in transient naming service"
|
||||
);
|
||||
|
||||
final String[] args = an_args;
|
||||
|
||||
new Thread()
|
||||
{
|
||||
|
||||
+22
-9
@@ -38,6 +38,8 @@ exception statement from your version. */
|
||||
|
||||
package gnu.classpath.examples.CORBA.SimpleCommunication;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.DirectTest;
|
||||
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.RequestTest;
|
||||
|
||||
@@ -61,23 +63,34 @@ public class Demo
|
||||
{
|
||||
public static void main(final String[] args)
|
||||
{
|
||||
File ior = new File("IOR.txt");
|
||||
if (ior.exists())
|
||||
ior.delete();
|
||||
|
||||
// Start the server.
|
||||
new Thread()
|
||||
{
|
||||
public void run()
|
||||
{
|
||||
comServer.start_server(args);
|
||||
DemoServer.start_server(args);
|
||||
}
|
||||
}.start();
|
||||
|
||||
System.out.println("Waiting for three seconds for the server to start...");
|
||||
|
||||
// Pause some time for the server to start.
|
||||
try {
|
||||
Thread.sleep(3000);
|
||||
}
|
||||
catch (InterruptedException ex) {
|
||||
}
|
||||
System.out.print("Waiting for the server to start ");
|
||||
while (!ior.exists())
|
||||
{
|
||||
// Pause some time for the server to start.
|
||||
try
|
||||
{
|
||||
Thread.sleep(200);
|
||||
}
|
||||
catch (InterruptedException ex)
|
||||
{
|
||||
}
|
||||
System.out.print(".");
|
||||
}
|
||||
System.out.println("ok.");
|
||||
System.out.println();
|
||||
|
||||
// Test the stream oriented communication.
|
||||
DirectTest.main(args);
|
||||
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
/* comServer.java --
|
||||
/* DemoServer.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -38,7 +38,7 @@ exception statement from your version. */
|
||||
|
||||
package gnu.classpath.examples.CORBA.SimpleCommunication;
|
||||
|
||||
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.comServant;
|
||||
import gnu.classpath.examples.CORBA.SimpleCommunication.communication.DemoServant;
|
||||
|
||||
import org.omg.CORBA.ORB;
|
||||
|
||||
@@ -47,7 +47,7 @@ import java.io.PrintStream;
|
||||
|
||||
/**
|
||||
* This is the server class that handles the client requests,
|
||||
* delegating the functionality to the {@link comServant}.
|
||||
* delegating the functionality to the {@link DemoServant}.
|
||||
*
|
||||
* When starting, the server writes the IOR.txt file into the current
|
||||
* folder. With the information, stored in this file, the server
|
||||
@@ -62,7 +62,7 @@ import java.io.PrintStream;
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class comServer
|
||||
public class DemoServer
|
||||
{
|
||||
|
||||
public static void main(String[] args)
|
||||
@@ -78,7 +78,7 @@ public class comServer
|
||||
final ORB orb = org.omg.CORBA.ORB.init(args, null);
|
||||
|
||||
// Create the servant and register it with the ORB.
|
||||
comServant tester = new comServant();
|
||||
DemoServant tester = new DemoServant();
|
||||
orb.connect(tester);
|
||||
|
||||
// Storing the IOR reference.
|
||||
+13
-19
@@ -1,4 +1,4 @@
|
||||
/* comServant.java --
|
||||
/* DemoServant.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -45,12 +45,6 @@ import org.omg.CORBA.DoubleHolder;
|
||||
import org.omg.CORBA.ShortHolder;
|
||||
import org.omg.CORBA.StringHolder;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileReader;
|
||||
import java.io.PrintStream;
|
||||
|
||||
/**
|
||||
* This class handles the actual server functionality in this test
|
||||
* application. When the client calls the remote method, this
|
||||
@@ -62,8 +56,8 @@ import java.io.PrintStream;
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class comServant
|
||||
extends _comTesterImplBase
|
||||
public class DemoServant
|
||||
extends _DemoTesterImplBase
|
||||
{
|
||||
/**
|
||||
* The field, that can be set and checked by remote client.
|
||||
@@ -129,7 +123,7 @@ public class comServant
|
||||
/**
|
||||
* Accept and return the structures.
|
||||
*/
|
||||
public returnThis passStructure(passThis in_structure)
|
||||
public StructureToReturn passStructure(StructureToPass in_structure)
|
||||
{
|
||||
System.out.println("SERVER: ***** Transferring structures");
|
||||
System.out.println("SERVER: Received " + in_structure.a + ":" +
|
||||
@@ -137,7 +131,7 @@ public class comServant
|
||||
);
|
||||
|
||||
// Create and send back the returned structure.
|
||||
returnThis r = new returnThis();
|
||||
StructureToReturn r = new StructureToReturn();
|
||||
r.c = in_structure.a + in_structure.b;
|
||||
r.n = 555;
|
||||
r.arra = new int[] { 11, 22, 33 };
|
||||
@@ -147,14 +141,14 @@ public class comServant
|
||||
/**
|
||||
* Pass and return the tree structure
|
||||
*/
|
||||
public void passTree(nodeHolder tree)
|
||||
public void passTree(TreeNodeHolder tree)
|
||||
{
|
||||
System.out.println("SERVER: ***** Transferring tree");
|
||||
|
||||
StringBuffer b = new StringBuffer();
|
||||
|
||||
// This both creates the tree string representation
|
||||
// and changes the node names.
|
||||
// and changes the TreeNode names.
|
||||
getImage(b, tree.value);
|
||||
System.out.println("SERVER: The tree was: " + b + ", returning changed.");
|
||||
}
|
||||
@@ -190,11 +184,11 @@ public class comServant
|
||||
*
|
||||
* @param parameter specifies which exception will be thrown.
|
||||
*
|
||||
* @throws ourUserException for the non negative parameter.
|
||||
* @throws WeThrowThisException for the non negative parameter.
|
||||
* @throws BAD_OPERATION for the negative parameter.
|
||||
*/
|
||||
public void throwException(int parameter)
|
||||
throws ourUserException
|
||||
throws WeThrowThisException
|
||||
{
|
||||
System.out.println("SERVER: ***** Testing exceptions");
|
||||
if (parameter > 0)
|
||||
@@ -202,7 +196,7 @@ public class comServant
|
||||
System.out.println("SERVER: Throwing the user exception, " +
|
||||
"specific field = "+parameter
|
||||
);
|
||||
throw new ourUserException(parameter);
|
||||
throw new WeThrowThisException(parameter);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -215,12 +209,12 @@ public class comServant
|
||||
|
||||
/**
|
||||
* Visit all tree nodes, getting the string representation
|
||||
* and adding '++' to the node names.
|
||||
* and adding '++' to the TreeNode names.
|
||||
*
|
||||
* @param b the buffer to collect the string representation.
|
||||
* @param n the rott tree node.
|
||||
* @param n the rott tree TreeNode.
|
||||
*/
|
||||
private void getImage(StringBuffer b, node n)
|
||||
private void getImage(StringBuffer b, TreeNode n)
|
||||
{
|
||||
b.append(n.name);
|
||||
n.name = n.name + "++";
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
/* comTester.java --
|
||||
/* DemoTester.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -45,12 +45,12 @@ import org.omg.CORBA.StringHolder;
|
||||
|
||||
/**
|
||||
* The interface of our remote object. Some IDL compiles split it
|
||||
* into "comTester" and "comTesterOperations", but we do not see
|
||||
* into "DemoTester" and "comTesterOperations", but we do not see
|
||||
* much sense in doing this here.
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public interface comTester
|
||||
public interface DemoTester
|
||||
{
|
||||
/**
|
||||
* Passes wide (UTF-16) string and narrow (ISO8859_1) string.
|
||||
@@ -77,14 +77,14 @@ public interface comTester
|
||||
/**
|
||||
* Passes and returns the structures.
|
||||
*/
|
||||
returnThis passStructure(passThis in_structure);
|
||||
StructureToReturn passStructure(StructureToPass in_structure);
|
||||
|
||||
/**
|
||||
* Pass and return the tree structure
|
||||
*
|
||||
* @param tree the root node of the tree.
|
||||
* @param tree the root TreeNode of the tree.
|
||||
*/
|
||||
void passTree(nodeHolder tree);
|
||||
void passTree(TreeNodeHolder tree);
|
||||
|
||||
/**
|
||||
* Just prints the "Hello" message.
|
||||
@@ -102,10 +102,10 @@ public interface comTester
|
||||
void theField(int newTheField);
|
||||
|
||||
/**
|
||||
* Throws either 'ourUserException' with the 'ourField' field
|
||||
* Throws either 'WeThrowThisException' with the 'ourField' field
|
||||
* initialised to the passed positive value
|
||||
* or system exception (if the parameter is zero or negative).
|
||||
*/
|
||||
void throwException(int parameter)
|
||||
throws ourUserException;
|
||||
throws WeThrowThisException;
|
||||
}
|
||||
+20
-20
@@ -57,7 +57,7 @@ import java.io.IOException;
|
||||
* where the program has been started.
|
||||
*
|
||||
* The IOR.txt file is written by the server
|
||||
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.comServer}.
|
||||
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.DemoServer}.
|
||||
* The server should be reachable over Internet, unless blocked by
|
||||
* security tools.
|
||||
*
|
||||
@@ -83,7 +83,7 @@ public class DirectTest
|
||||
/**
|
||||
* The invocation target.
|
||||
*/
|
||||
comTester object;
|
||||
DemoTester object;
|
||||
|
||||
/**
|
||||
* Get the object reference.
|
||||
@@ -102,7 +102,7 @@ public class DirectTest
|
||||
|
||||
String ior = new String(c);
|
||||
DirectTest we = new DirectTest();
|
||||
we.object = (comTester) orb.string_to_object(ior);
|
||||
we.object = (DemoTester) orb.string_to_object(ior);
|
||||
we.Demo();
|
||||
orb.shutdown(false);
|
||||
}
|
||||
@@ -199,11 +199,11 @@ public class DirectTest
|
||||
{
|
||||
System.out.println("***** Pass structure");
|
||||
|
||||
passThis arg = new passThis();
|
||||
StructureToPass arg = new StructureToPass();
|
||||
arg.a = "A";
|
||||
arg.b = "B";
|
||||
|
||||
returnThis r = object.passStructure(arg);
|
||||
StructureToReturn r = object.passStructure(arg);
|
||||
|
||||
System.out.println(" Fields of the returned structure:");
|
||||
|
||||
@@ -257,15 +257,15 @@ public class DirectTest
|
||||
// +-- bb
|
||||
System.out.println("***** Pass and return the tree.");
|
||||
|
||||
node n = nod("Root");
|
||||
TreeNode n = nod("Root");
|
||||
|
||||
n.children = new node[] { nod("a"), nod("b") };
|
||||
n.children [ 1 ].children = new node[] { nod("ba"), nod("bb") };
|
||||
n.children [ 1 ].children [ 0 ].children = new node[] { nod("bac") };
|
||||
n.children = new TreeNode[] { nod("a"), nod("b") };
|
||||
n.children [ 1 ].children = new TreeNode[] { nod("ba"), nod("bb") };
|
||||
n.children [ 1 ].children [ 0 ].children = new TreeNode[] { nod("bac") };
|
||||
|
||||
nodeHolder nh = new nodeHolder(n);
|
||||
TreeNodeHolder nh = new TreeNodeHolder(n);
|
||||
|
||||
// The server should add '++' to each node name.
|
||||
// The server should add '++' to each TreeNode name.
|
||||
object.passTree(nh);
|
||||
|
||||
// Convert the returned tree to some strig representation.
|
||||
@@ -288,7 +288,7 @@ public class DirectTest
|
||||
object.throwException(123);
|
||||
throw new InternalError();
|
||||
}
|
||||
catch (ourUserException uex)
|
||||
catch (WeThrowThisException uex)
|
||||
{
|
||||
System.out.println(" The user exception with field " + uex.ourField +
|
||||
", has been thrown on remote side."
|
||||
@@ -312,9 +312,9 @@ public class DirectTest
|
||||
/**
|
||||
* Get the string representation of the passed tree.
|
||||
* @param b the string buffer to accumulate the representation.
|
||||
* @param n the tree (root node).
|
||||
* @param n the tree (root TreeNode).
|
||||
*/
|
||||
private void getImage(StringBuffer b, node n)
|
||||
private void getImage(StringBuffer b, TreeNode n)
|
||||
{
|
||||
b.append(n.name);
|
||||
b.append(": (");
|
||||
@@ -328,15 +328,15 @@ public class DirectTest
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a node with the given header.
|
||||
* Create a TreeNode with the given header.
|
||||
*
|
||||
* @param hdr the node header.
|
||||
* @return the created node.
|
||||
* @param hdr the TreeNode header.
|
||||
* @return the created TreeNode.
|
||||
*/
|
||||
private node nod(String hdr)
|
||||
private TreeNode nod(String hdr)
|
||||
{
|
||||
node n = new node();
|
||||
n.children = new node[ 0 ];
|
||||
TreeNode n = new TreeNode();
|
||||
n.children = new TreeNode[ 0 ];
|
||||
n.name = hdr;
|
||||
|
||||
return n;
|
||||
|
||||
+40
-16
@@ -1,3 +1,39 @@
|
||||
/* RequestTest.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
|
||||
Linking this library statically or dynamically with other modules is
|
||||
making a combined work based on this library. Thus, the terms and
|
||||
conditions of the GNU General Public License cover the whole
|
||||
combination.
|
||||
|
||||
As a special exception, the copyright holders of this library give you
|
||||
permission to link this library with independent modules to produce an
|
||||
executable, regardless of the license terms of these independent
|
||||
modules, and to copy and distribute the resulting executable under
|
||||
terms of your choice, provided that you also meet, for each linked
|
||||
independent module, the terms and conditions of the license of that
|
||||
module. An independent module is a module which is not derived from
|
||||
or based on this library. If you modify this library, you may extend
|
||||
this exception to your version of the library, but you are not
|
||||
obligated to do so. If you do not wish to do so, delete this
|
||||
exception statement from your version. */
|
||||
|
||||
|
||||
package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
|
||||
@@ -7,14 +43,10 @@ import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
|
||||
import org.omg.CORBA.BAD_OPERATION;
|
||||
import org.omg.CORBA.ByteHolder;
|
||||
import org.omg.CORBA.DoubleHolder;
|
||||
import org.omg.CORBA.ExceptionList;
|
||||
import org.omg.CORBA.NVList;
|
||||
import org.omg.CORBA.ORB;
|
||||
import org.omg.CORBA.Request;
|
||||
import org.omg.CORBA.ShortHolder;
|
||||
import org.omg.CORBA.StringHolder;
|
||||
import org.omg.CORBA.TCKind;
|
||||
import org.omg.CORBA.UnknownUserException;
|
||||
|
||||
@@ -25,7 +57,7 @@ import org.omg.CORBA.UnknownUserException;
|
||||
* where the program has been started.
|
||||
*
|
||||
* The IOR.txt file is written by the server
|
||||
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.comServer}.
|
||||
* {@link gnu.classpath.examples.CORBA.SimpleCommunication.DemoServer}.
|
||||
* The server should be reachable over Internet, unless blocked by
|
||||
* security tools.
|
||||
*
|
||||
@@ -106,7 +138,6 @@ public class RequestTest
|
||||
throw new InternalError();
|
||||
}
|
||||
testSystemException();
|
||||
testUserException();
|
||||
testWideNarrowStrings();
|
||||
}
|
||||
|
||||
@@ -135,13 +166,6 @@ public class RequestTest
|
||||
Request r =
|
||||
object._create_request(null, "passSimple", orb.create_list(0), null);
|
||||
|
||||
ByteHolder a_byte = new ByteHolder((byte) 0);
|
||||
ShortHolder a_short = new ShortHolder((short) 3);
|
||||
StringHolder a_string = new StringHolder("[string 4]");
|
||||
|
||||
// This is an 'out' parameter; the value must not be passed to servant.
|
||||
DoubleHolder a_double = new DoubleHolder(56.789);
|
||||
|
||||
r.add_inout_arg().insert_octet((byte) 0);
|
||||
r.add_in_arg().insert_long(2);
|
||||
r.add_inout_arg().insert_short((short) 3);
|
||||
@@ -188,7 +212,7 @@ public class RequestTest
|
||||
try
|
||||
{
|
||||
ExceptionList exList = orb.create_exception_list();
|
||||
exList.add(ourUserExceptionHelper.type());
|
||||
exList.add(WeThrowThisExceptionHelper.type());
|
||||
|
||||
Request rq =
|
||||
object._create_request(null, "throwException", orb.create_list(1),
|
||||
@@ -217,7 +241,7 @@ public class RequestTest
|
||||
System.out.println("**** Test user exception:");
|
||||
|
||||
ExceptionList exList = orb.create_exception_list();
|
||||
exList.add(ourUserExceptionHelper.type());
|
||||
exList.add(WeThrowThisExceptionHelper.type());
|
||||
|
||||
Request rq =
|
||||
object._create_request(null, "throwException", orb.create_list(1), null,
|
||||
@@ -228,7 +252,7 @@ public class RequestTest
|
||||
rq.invoke();
|
||||
|
||||
UnknownUserException uku = (UnknownUserException) rq.env().exception();
|
||||
ourUserException our_exception = ourUserExceptionHelper.extract(uku.except);
|
||||
WeThrowThisException our_exception = WeThrowThisExceptionHelper.extract(uku.except);
|
||||
|
||||
System.out.println(" Our user exception, field " + our_exception.ourField +
|
||||
", has been thrown on remote side."
|
||||
|
||||
+7
-2
@@ -1,4 +1,4 @@
|
||||
/* passThis.java --
|
||||
/* StructureToPass.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -44,9 +44,14 @@ package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class passThis
|
||||
public class StructureToPass
|
||||
implements org.omg.CORBA.portable.IDLEntity
|
||||
{
|
||||
/**
|
||||
* Use serialVersionUID for interoperability.
|
||||
*/
|
||||
private static final long serialVersionUID = 1;
|
||||
|
||||
/**
|
||||
* The first string, stored in this structure (defined as
|
||||
* "narrow string").
|
||||
+9
-10
@@ -1,4 +1,4 @@
|
||||
/* passThisHelper.java --
|
||||
/* StructureToPassHelper.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -38,7 +38,6 @@ exception statement from your version. */
|
||||
|
||||
package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
|
||||
|
||||
import org.omg.CORBA.Any;
|
||||
import org.omg.CORBA.ORB;
|
||||
import org.omg.CORBA.StructMember;
|
||||
import org.omg.CORBA.TypeCode;
|
||||
@@ -46,17 +45,17 @@ import org.omg.CORBA.portable.InputStream;
|
||||
import org.omg.CORBA.portable.OutputStream;
|
||||
|
||||
/**
|
||||
* The helper operations for the {@link passThis}.
|
||||
* The helper operations for the {@link StructureToPass}.
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public abstract class passThisHelper
|
||||
public abstract class StructureToPassHelper
|
||||
{
|
||||
/**
|
||||
* The repository ID of the {@link passThis}.
|
||||
* The repository ID of the {@link StructureToPass}.
|
||||
*/
|
||||
private static String id =
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/passThis:1.0";
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToPass:1.0";
|
||||
|
||||
/**
|
||||
* Get the repository id.
|
||||
@@ -69,9 +68,9 @@ public abstract class passThisHelper
|
||||
/**
|
||||
* Read the structure from the CDR stram.
|
||||
*/
|
||||
public static passThis read(InputStream istream)
|
||||
public static StructureToPass read(InputStream istream)
|
||||
{
|
||||
passThis value = new passThis();
|
||||
StructureToPass value = new StructureToPass();
|
||||
value.a = istream.read_string();
|
||||
value.b = istream.read_wstring();
|
||||
return value;
|
||||
@@ -88,13 +87,13 @@ public abstract class passThisHelper
|
||||
members [ 0 ] = new StructMember("a", member, null);
|
||||
member = ORB.init().create_string_tc(0);
|
||||
members [ 1 ] = new StructMember("b", member, null);
|
||||
return ORB.init().create_struct_tc(passThisHelper.id(), "passThis", members);
|
||||
return ORB.init().create_struct_tc(StructureToPassHelper.id(), "StructureToPass", members);
|
||||
}
|
||||
|
||||
/**
|
||||
* Write the structure into the CDR stream.
|
||||
*/
|
||||
public static void write(OutputStream ostream, passThis value)
|
||||
public static void write(OutputStream ostream, StructureToPass value)
|
||||
{
|
||||
ostream.write_string(value.a);
|
||||
ostream.write_wstring(value.b);
|
||||
+7
-7
@@ -6,32 +6,32 @@ import org.omg.CORBA.portable.InputStream;
|
||||
import org.omg.CORBA.portable.OutputStream;
|
||||
import org.omg.CORBA.portable.Streamable;
|
||||
|
||||
public final class passThisHolder
|
||||
public final class StructureToPassHolder
|
||||
implements Streamable
|
||||
{
|
||||
public passThis value;
|
||||
public StructureToPass value;
|
||||
|
||||
public passThisHolder()
|
||||
public StructureToPassHolder()
|
||||
{
|
||||
}
|
||||
|
||||
public passThisHolder(passThis initialValue)
|
||||
public StructureToPassHolder(StructureToPass initialValue)
|
||||
{
|
||||
value = initialValue;
|
||||
}
|
||||
|
||||
public void _read(InputStream i)
|
||||
{
|
||||
value = passThisHelper.read(i);
|
||||
value = StructureToPassHelper.read(i);
|
||||
}
|
||||
|
||||
public org.omg.CORBA.TypeCode _type()
|
||||
{
|
||||
return passThisHelper.type();
|
||||
return StructureToPassHelper.type();
|
||||
}
|
||||
|
||||
public void _write(OutputStream o)
|
||||
{
|
||||
passThisHelper.write(o, value);
|
||||
StructureToPassHelper.write(o, value);
|
||||
}
|
||||
}
|
||||
+7
-2
@@ -1,4 +1,4 @@
|
||||
/* returnThis.java --
|
||||
/* StructureToReturn.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -44,9 +44,14 @@ import org.omg.CORBA.portable.IDLEntity;
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class returnThis
|
||||
public class StructureToReturn
|
||||
implements IDLEntity
|
||||
{
|
||||
/**
|
||||
* Use serialVersionUID for interoperability.
|
||||
*/
|
||||
private static final long serialVersionUID = 1;
|
||||
|
||||
/**
|
||||
* The string field.
|
||||
*/
|
||||
+8
-9
@@ -1,4 +1,4 @@
|
||||
/* returnThisHelper.java --
|
||||
/* StructureToReturnHelper.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -37,7 +37,6 @@ exception statement from your version. */
|
||||
|
||||
package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
|
||||
|
||||
import org.omg.CORBA.Any;
|
||||
import org.omg.CORBA.ORB;
|
||||
import org.omg.CORBA.StructMember;
|
||||
import org.omg.CORBA.TCKind;
|
||||
@@ -46,17 +45,17 @@ import org.omg.CORBA.portable.InputStream;
|
||||
import org.omg.CORBA.portable.OutputStream;
|
||||
|
||||
/**
|
||||
* This class defines the helper operations for {@link returnThis}.
|
||||
* This class defines the helper operations for {@link StructureToReturn}.
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public abstract class returnThisHelper
|
||||
public abstract class StructureToReturnHelper
|
||||
{
|
||||
/**
|
||||
* The repository id.
|
||||
*/
|
||||
private static String _id =
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/returnThis:1.0";
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToReturn:1.0";
|
||||
|
||||
/**
|
||||
* Return the repository id.
|
||||
@@ -69,9 +68,9 @@ public abstract class returnThisHelper
|
||||
/**
|
||||
* Read the structure from the CDR stream.
|
||||
*/
|
||||
public static returnThis read(InputStream istream)
|
||||
public static StructureToReturn read(InputStream istream)
|
||||
{
|
||||
returnThis value = new returnThis();
|
||||
StructureToReturn value = new StructureToReturn();
|
||||
value.n = istream.read_long();
|
||||
value.c = istream.read_wstring();
|
||||
value.arra = new int[ 3 ];
|
||||
@@ -95,7 +94,7 @@ public abstract class returnThisHelper
|
||||
member = ORB.init().get_primitive_tc(TCKind.tk_long);
|
||||
member = ORB.init().create_array_tc(3, member);
|
||||
members [ 2 ] = new StructMember("arra", member, null);
|
||||
return ORB.init().create_struct_tc(returnThisHelper.id(), "returnThis",
|
||||
return ORB.init().create_struct_tc(StructureToReturnHelper.id(), "StructureToReturn",
|
||||
members
|
||||
);
|
||||
}
|
||||
@@ -103,7 +102,7 @@ public abstract class returnThisHelper
|
||||
/**
|
||||
* Write the structure to the CDR stream.
|
||||
*/
|
||||
public static void write(OutputStream ostream, returnThis value)
|
||||
public static void write(OutputStream ostream, StructureToReturn value)
|
||||
{
|
||||
ostream.write_long(value.n);
|
||||
ostream.write_wstring(value.c);
|
||||
+7
-7
@@ -10,25 +10,25 @@ import org.omg.CORBA.portable.Streamable;
|
||||
/**
|
||||
* The holder for the structure, returned from the server.
|
||||
*/
|
||||
public final class returnThisHolder
|
||||
public final class StructureToReturnHolder
|
||||
implements Streamable
|
||||
{
|
||||
/**
|
||||
* The enclosed structure.
|
||||
*/
|
||||
public returnThis value = null;
|
||||
public StructureToReturn value = null;
|
||||
|
||||
/**
|
||||
* Create the empty holder.
|
||||
*/
|
||||
public returnThisHolder()
|
||||
public StructureToReturnHolder()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Crate the holder with the defined initial value.
|
||||
*/
|
||||
public returnThisHolder(returnThis initialValue)
|
||||
public StructureToReturnHolder(StructureToReturn initialValue)
|
||||
{
|
||||
value = initialValue;
|
||||
}
|
||||
@@ -38,7 +38,7 @@ public final class returnThisHolder
|
||||
*/
|
||||
public void _read(InputStream in)
|
||||
{
|
||||
value = returnThisHelper.read(in);
|
||||
value = StructureToReturnHelper.read(in);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -46,7 +46,7 @@ public final class returnThisHolder
|
||||
*/
|
||||
public TypeCode _type()
|
||||
{
|
||||
return returnThisHelper.type();
|
||||
return StructureToReturnHelper.type();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -55,6 +55,6 @@ public final class returnThisHolder
|
||||
*/
|
||||
public void _write(OutputStream out)
|
||||
{
|
||||
returnThisHelper.write(out, value);
|
||||
StructureToReturnHelper.write(out, value);
|
||||
}
|
||||
}
|
||||
+10
-5
@@ -1,4 +1,4 @@
|
||||
/* node.java --
|
||||
/* TreeNode.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -44,12 +44,17 @@ package gnu.classpath.examples.CORBA.SimpleCommunication.communication;
|
||||
*
|
||||
* @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class node
|
||||
public class TreeNode
|
||||
implements org.omg.CORBA.portable.IDLEntity
|
||||
{
|
||||
/** The node name */
|
||||
/**
|
||||
* Use serialVersionUID for interoperability.
|
||||
*/
|
||||
private static final long serialVersionUID = 1;
|
||||
|
||||
/** The TreeNode name */
|
||||
public String name = null;
|
||||
|
||||
/** The node children. */
|
||||
public node[] children = null;
|
||||
/** The TreeNode children. */
|
||||
public TreeNode[] children = null;
|
||||
}
|
||||
+22
-22
@@ -1,4 +1,4 @@
|
||||
/* nodeHelper.java --
|
||||
/* TreeNodeHelper.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -51,13 +51,13 @@ import org.omg.CORBA.portable.OutputStream;
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public abstract class nodeHelper
|
||||
public abstract class TreeNodeHelper
|
||||
{
|
||||
/**
|
||||
* The node repository id, used to identify the structure.
|
||||
* The TreeNode repository id, used to identify the structure.
|
||||
*/
|
||||
private static String _id =
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/node:1.0";
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/TreeNode:1.0";
|
||||
|
||||
/**
|
||||
* Caches the typecode, allowing to compute it only once.
|
||||
@@ -66,21 +66,21 @@ public abstract class nodeHelper
|
||||
|
||||
/**
|
||||
* This is used to handle the recursive object references in
|
||||
* CORBA - supported way. The tree node definition is recursive,
|
||||
* as the node contains the sequence of the nodes as its field.
|
||||
* CORBA - supported way. The tree TreeNode definition is recursive,
|
||||
* as the TreeNode contains the sequence of the nodes as its field.
|
||||
*/
|
||||
private static boolean active;
|
||||
|
||||
/**
|
||||
* Extract the tree node from the unversal CORBA wrapper, Any.
|
||||
* Extract the tree TreeNode from the unversal CORBA wrapper, Any.
|
||||
*/
|
||||
public static node extract(Any a)
|
||||
public static TreeNode extract(Any a)
|
||||
{
|
||||
return read(a.create_input_stream());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the node string identifer.
|
||||
* Get the TreeNode string identifer.
|
||||
*/
|
||||
public static String id()
|
||||
{
|
||||
@@ -88,9 +88,9 @@ public abstract class nodeHelper
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert the node into the universal CORBA wrapper, Any.
|
||||
* Insert the TreeNode into the universal CORBA wrapper, Any.
|
||||
*/
|
||||
public static void insert(Any a, node that)
|
||||
public static void insert(Any a, TreeNode that)
|
||||
{
|
||||
OutputStream out = a.create_output_stream();
|
||||
a.type(type());
|
||||
@@ -99,22 +99,22 @@ public abstract class nodeHelper
|
||||
}
|
||||
|
||||
/**
|
||||
* Read the node from the common data reprentation (CDR) stream.
|
||||
* Read the TreeNode from the common data reprentation (CDR) stream.
|
||||
*/
|
||||
public static node read(InputStream istream)
|
||||
public static TreeNode read(InputStream istream)
|
||||
{
|
||||
node value = new node();
|
||||
TreeNode value = new TreeNode();
|
||||
value.name = istream.read_string();
|
||||
|
||||
int _len0 = istream.read_long();
|
||||
value.children = new node[ _len0 ];
|
||||
value.children = new TreeNode[ _len0 ];
|
||||
for (int i = 0; i < value.children.length; ++i)
|
||||
value.children [ i ] = nodeHelper.read(istream);
|
||||
value.children [ i ] = TreeNodeHelper.read(istream);
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the node type code definition.
|
||||
* Get the TreeNode type code definition.
|
||||
*/
|
||||
public static synchronized TypeCode type()
|
||||
{
|
||||
@@ -131,7 +131,7 @@ public abstract class nodeHelper
|
||||
return ORB.init().create_recursive_tc(_id);
|
||||
active = true;
|
||||
|
||||
// List all memebers of the node structure.
|
||||
// List all memebers of the TreeNode structure.
|
||||
StructMember[] members = new StructMember[ 2 ];
|
||||
TypeCode memberType;
|
||||
memberType = ORB.init().create_string_tc(0);
|
||||
@@ -139,7 +139,7 @@ public abstract class nodeHelper
|
||||
memberType = ORB.init().create_recursive_tc("");
|
||||
members [ 1 ] = new StructMember("children", memberType, null);
|
||||
typeCode =
|
||||
ORB.init().create_struct_tc(nodeHelper.id(), "node", members);
|
||||
ORB.init().create_struct_tc(TreeNodeHelper.id(), "TreeNode", members);
|
||||
active = false;
|
||||
}
|
||||
}
|
||||
@@ -148,13 +148,13 @@ public abstract class nodeHelper
|
||||
}
|
||||
|
||||
/**
|
||||
* Write the node into the common data reprentation (CDR) stream.
|
||||
* Write the TreeNode into the common data reprentation (CDR) stream.
|
||||
*/
|
||||
public static void write(OutputStream ostream, node value)
|
||||
public static void write(OutputStream ostream, TreeNode value)
|
||||
{
|
||||
ostream.write_string(value.name);
|
||||
ostream.write_long(value.children.length);
|
||||
for (int i = 0; i < value.children.length; ++i)
|
||||
nodeHelper.write(ostream, value.children [ i ]);
|
||||
TreeNodeHelper.write(ostream, value.children [ i ]);
|
||||
}
|
||||
}
|
||||
+16
-16
@@ -1,4 +1,4 @@
|
||||
/* nodeHolder.java --
|
||||
/* TreeNodeHolder.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -44,57 +44,57 @@ import org.omg.CORBA.portable.OutputStream;
|
||||
import org.omg.CORBA.portable.Streamable;
|
||||
|
||||
/**
|
||||
* The node holder is a wrapper about the node data structure. It
|
||||
* can be used where the node must be passed both to and from
|
||||
* The TreeNode holder is a wrapper about the TreeNode data structure. It
|
||||
* can be used where the TreeNode must be passed both to and from
|
||||
* the method being called. The same structure holds the tree,
|
||||
* as it can be represented as a root node with children.
|
||||
* as it can be represented as a root TreeNode with children.
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class nodeHolder
|
||||
public class TreeNodeHolder
|
||||
implements Streamable
|
||||
{
|
||||
/**
|
||||
* Stores the node value.
|
||||
* Stores the TreeNode value.
|
||||
*/
|
||||
public node value;
|
||||
public TreeNode value;
|
||||
|
||||
/**
|
||||
* Creates the node holder with the null initial value.
|
||||
* Creates the TreeNode holder with the null initial value.
|
||||
*/
|
||||
public nodeHolder()
|
||||
public TreeNodeHolder()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the node holder with the given initial value.
|
||||
* Creates the TreeNode holder with the given initial value.
|
||||
*/
|
||||
public nodeHolder(node initialValue)
|
||||
public TreeNodeHolder(TreeNode initialValue)
|
||||
{
|
||||
value = initialValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the node value from the common data representation (CDR)
|
||||
* Reads the TreeNode value from the common data representation (CDR)
|
||||
* stream.
|
||||
*/
|
||||
public void _read(InputStream in)
|
||||
{
|
||||
value = nodeHelper.read(in);
|
||||
value = TreeNodeHelper.read(in);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes the node value into common data representation (CDR)
|
||||
* Writes the TreeNode value into common data representation (CDR)
|
||||
* stream.
|
||||
* @return
|
||||
*/
|
||||
public TypeCode _type()
|
||||
{
|
||||
return nodeHelper.type();
|
||||
return TreeNodeHelper.type();
|
||||
}
|
||||
|
||||
public void _write(OutputStream out)
|
||||
{
|
||||
nodeHelper.write(out, value);
|
||||
TreeNodeHelper.write(out, value);
|
||||
}
|
||||
}
|
||||
+8
-3
@@ -1,4 +1,4 @@
|
||||
/* ourUserException.java --
|
||||
/* WeThrowThisException.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -49,10 +49,15 @@ import org.omg.CORBA.portable.IDLEntity;
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class ourUserException
|
||||
public class WeThrowThisException
|
||||
extends UserException
|
||||
implements IDLEntity
|
||||
{
|
||||
/**
|
||||
* Use serialVersionUID for interoperability.
|
||||
*/
|
||||
private static final long serialVersionUID = 1;
|
||||
|
||||
/**
|
||||
* Our specific field, transferred to client.
|
||||
*/
|
||||
@@ -63,7 +68,7 @@ public class ourUserException
|
||||
*
|
||||
* @param _ourField the value of our specific field.
|
||||
*/
|
||||
public ourUserException(int _ourField)
|
||||
public WeThrowThisException(int _ourField)
|
||||
{
|
||||
ourField = _ourField;
|
||||
}
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
/* ourUserExceptionHelper.java --
|
||||
/* WeThrowThisExceptionHelper.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -50,14 +50,14 @@ import org.omg.CORBA.TypeCode;
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public abstract class ourUserExceptionHelper
|
||||
public abstract class WeThrowThisExceptionHelper
|
||||
{
|
||||
/**
|
||||
* The exception repository id. This name is also used to find the
|
||||
* mapping local CORBA class.
|
||||
*/
|
||||
private static String _id =
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/ourUserException:1.0";
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisException:1.0";
|
||||
|
||||
/**
|
||||
* Get the exception repository id.
|
||||
@@ -71,7 +71,7 @@ public abstract class ourUserExceptionHelper
|
||||
* Extract the exception from the given Any where it might be
|
||||
* wrapped.
|
||||
*/
|
||||
public static ourUserException extract(Any a)
|
||||
public static WeThrowThisException extract(Any a)
|
||||
{
|
||||
return read(a.create_input_stream());
|
||||
}
|
||||
@@ -79,9 +79,9 @@ public abstract class ourUserExceptionHelper
|
||||
/**
|
||||
* Read the exception from the CDR stream.
|
||||
*/
|
||||
public static ourUserException read(org.omg.CORBA.portable.InputStream istream)
|
||||
public static WeThrowThisException read(org.omg.CORBA.portable.InputStream istream)
|
||||
{
|
||||
ourUserException value = new ourUserException(0);
|
||||
WeThrowThisException value = new WeThrowThisException(0);
|
||||
|
||||
// The repository ID is not used
|
||||
istream.read_string();
|
||||
@@ -98,8 +98,8 @@ public abstract class ourUserExceptionHelper
|
||||
TypeCode member = null;
|
||||
member = ORB.init().get_primitive_tc(TCKind.tk_long);
|
||||
members [ 0 ] = new StructMember("ourField", member, null);
|
||||
return ORB.init().create_struct_tc(ourUserExceptionHelper.id(),
|
||||
"ourUserException", members
|
||||
return ORB.init().create_struct_tc(WeThrowThisExceptionHelper.id(),
|
||||
"WeThrowThisException", members
|
||||
);
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ public abstract class ourUserExceptionHelper
|
||||
* Write the exception into the CDR stream.
|
||||
*/
|
||||
public static void write(org.omg.CORBA.portable.OutputStream ostream,
|
||||
ourUserException value
|
||||
WeThrowThisException value
|
||||
)
|
||||
{
|
||||
ostream.write_string(id());
|
||||
+17
-14
@@ -1,4 +1,4 @@
|
||||
/* _comTesterImplBase.java --
|
||||
/* _DemoTesterImplBase.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -53,13 +53,16 @@ import org.omg.CORBA.portable.ResponseHandler;
|
||||
|
||||
/**
|
||||
* The base for the class that is actually implementing the functionality
|
||||
* of the object on the server side ({@link comServant} of our case).
|
||||
* of the object on the server side ({@link DemoServant} of our case).
|
||||
*
|
||||
* Following CORBA standards, the name of this class must start from
|
||||
* underscore and end by the "ImplBase".
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public abstract class _comTesterImplBase
|
||||
public abstract class _DemoTesterImplBase
|
||||
extends ObjectImpl
|
||||
implements comTester, InvokeHandler
|
||||
implements DemoTester, InvokeHandler
|
||||
{
|
||||
/**
|
||||
* When the server receives the request message from client, it
|
||||
@@ -138,7 +141,7 @@ public abstract class _comTesterImplBase
|
||||
}
|
||||
else
|
||||
/*
|
||||
Throws either 'ourUserException' with the 'ourField' field
|
||||
Throws either 'WeThrowThisException' with the 'ourField' field
|
||||
initialised to the passed positive value
|
||||
or system exception (if the parameter is zero or negative).
|
||||
*/
|
||||
@@ -150,21 +153,21 @@ public abstract class _comTesterImplBase
|
||||
throwException(parameter);
|
||||
out = rh.createReply();
|
||||
}
|
||||
catch (ourUserException exception)
|
||||
catch (WeThrowThisException exception)
|
||||
{
|
||||
out = rh.createExceptionReply();
|
||||
ourUserExceptionHelper.write(out, exception);
|
||||
WeThrowThisExceptionHelper.write(out, exception);
|
||||
}
|
||||
}
|
||||
else
|
||||
/* Passes and returns the structures. */
|
||||
if (a_method.equals("passStructure"))
|
||||
{
|
||||
passThis in_structure = passThisHelper.read(in);
|
||||
returnThis result = null;
|
||||
StructureToPass in_structure = StructureToPassHelper.read(in);
|
||||
StructureToReturn result = null;
|
||||
result = passStructure(in_structure);
|
||||
out = rh.createReply();
|
||||
returnThisHelper.write(out, result);
|
||||
StructureToReturnHelper.write(out, result);
|
||||
}
|
||||
else
|
||||
/* Passes and returns the string sequence. */
|
||||
@@ -180,11 +183,11 @@ public abstract class _comTesterImplBase
|
||||
/** Pass and return the tree structure */
|
||||
if (a_method.equals("passTree"))
|
||||
{
|
||||
nodeHolder tree = new nodeHolder();
|
||||
tree.value = nodeHelper.read(in);
|
||||
TreeNodeHolder tree = new TreeNodeHolder();
|
||||
tree.value = TreeNodeHelper.read(in);
|
||||
passTree(tree);
|
||||
out = rh.createReply();
|
||||
nodeHelper.write(out, tree.value);
|
||||
TreeNodeHelper.write(out, tree.value);
|
||||
}
|
||||
|
||||
else
|
||||
@@ -201,6 +204,6 @@ public abstract class _comTesterImplBase
|
||||
public String[] _ids()
|
||||
{
|
||||
// They are the same as for the stub.
|
||||
return _comTesterStub._ids;
|
||||
return _DemoTesterStub._ids;
|
||||
}
|
||||
}
|
||||
+20
-17
@@ -1,4 +1,4 @@
|
||||
/* _comTesterStub.java --
|
||||
/* _DemoTesterStub.java --
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -55,23 +55,26 @@ import org.omg.CORBA.portable.RemarshalException;
|
||||
* side. It has all the same methods as the actual implementation
|
||||
* on the server side. These methods contain the code for remote
|
||||
* invocation.
|
||||
*
|
||||
* Following CORBA standards, the name of this class must start from
|
||||
* underscore and end by the "Stub".
|
||||
*
|
||||
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
|
||||
*/
|
||||
public class _comTesterStub
|
||||
public class _DemoTesterStub
|
||||
extends ObjectImpl
|
||||
implements comTester
|
||||
implements DemoTester
|
||||
{
|
||||
/**
|
||||
* A string array of comTester repository ids.
|
||||
* A string array of DemoTester repository ids.
|
||||
*/
|
||||
public static String[] _ids =
|
||||
{
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/comTester:1.0"
|
||||
"IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/DemoTester:1.0"
|
||||
};
|
||||
|
||||
/**
|
||||
* Return an array of comTester repository ids.
|
||||
* Return an array of DemoTester repository ids.
|
||||
*/
|
||||
public String[] _ids()
|
||||
{
|
||||
@@ -217,7 +220,7 @@ public class _comTesterStub
|
||||
/**
|
||||
Passes and returns the structures.
|
||||
*/
|
||||
public returnThis passStructure(passThis in_structure)
|
||||
public StructureToReturn passStructure(StructureToPass in_structure)
|
||||
{
|
||||
InputStream in = null;
|
||||
try
|
||||
@@ -226,13 +229,13 @@ public class _comTesterStub
|
||||
OutputStream out = _request("passStructure", true);
|
||||
|
||||
// Write the structure, using its helper.
|
||||
passThisHelper.write(out, in_structure);
|
||||
StructureToPassHelper.write(out, in_structure);
|
||||
|
||||
// Invoke the method.
|
||||
in = _invoke(out);
|
||||
|
||||
// Read the returned structer, using another helper.
|
||||
returnThis result = returnThisHelper.read(in);
|
||||
StructureToReturn result = StructureToReturnHelper.read(in);
|
||||
return result;
|
||||
}
|
||||
catch (ApplicationException ex)
|
||||
@@ -253,7 +256,7 @@ public class _comTesterStub
|
||||
/**
|
||||
* Pass and return the tree structure
|
||||
*/
|
||||
public void passTree(nodeHolder tree)
|
||||
public void passTree(TreeNodeHolder tree)
|
||||
{
|
||||
InputStream in = null;
|
||||
try
|
||||
@@ -261,15 +264,15 @@ public class _comTesterStub
|
||||
// Get the stream where the parameters must be written.
|
||||
OutputStream out = _request("passTree", true);
|
||||
|
||||
// Write the tree (node with its chilred, grandchildren and so on),
|
||||
// Write the tree (TreeNode with its chilred, grandchildren and so on),
|
||||
// using the appropriate helper.
|
||||
nodeHelper.write(out, tree.value);
|
||||
TreeNodeHelper.write(out, tree.value);
|
||||
|
||||
// Call the method.
|
||||
in = _invoke(out);
|
||||
|
||||
// Read the returned tree.
|
||||
tree.value = nodeHelper.read(in);
|
||||
tree.value = TreeNodeHelper.read(in);
|
||||
}
|
||||
catch (ApplicationException ex)
|
||||
{
|
||||
@@ -382,10 +385,10 @@ public class _comTesterStub
|
||||
* of the positive value of this argument, and system
|
||||
* exception otherwise.
|
||||
*
|
||||
* @throws ourUserException
|
||||
* @throws WeThrowThisException
|
||||
*/
|
||||
public void throwException(int parameter)
|
||||
throws ourUserException
|
||||
throws WeThrowThisException
|
||||
{
|
||||
InputStream in = null;
|
||||
try
|
||||
@@ -408,9 +411,9 @@ public class _comTesterStub
|
||||
|
||||
// If this is the user exception we expect to catch, read and throw
|
||||
// it here. The system exception, if thrown, is handled by _invoke.
|
||||
if (id.equals("IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/ourUserException:1.0")
|
||||
if (id.equals("IDL:gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisException:1.0")
|
||||
)
|
||||
throw ourUserExceptionHelper.read(in);
|
||||
throw WeThrowThisExceptionHelper.read(in);
|
||||
else
|
||||
throw new MARSHAL(id);
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
/* Demo.java -- And example of MIDI support
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath examples.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA. */
|
||||
|
||||
package gnu.classpath.examples.midi;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.*;
|
||||
import javax.sound.midi.*;
|
||||
|
||||
/**
|
||||
* An example how javax.sound.midi facilities work.
|
||||
*/
|
||||
public class Demo extends Frame implements ItemListener
|
||||
{
|
||||
Choice midiInChoice = new Choice();
|
||||
Choice midiOutChoice = new Choice();
|
||||
|
||||
MidiDevice inDevice = null;
|
||||
MidiDevice outDevice = null;
|
||||
|
||||
ArrayList inDevices = new ArrayList();
|
||||
ArrayList outDevices = new ArrayList();
|
||||
|
||||
public Demo () throws Exception
|
||||
{
|
||||
MenuBar mb = new MenuBar ();
|
||||
Menu menu = new Menu ("File");
|
||||
MenuItem quit = new MenuItem("Quit", new MenuShortcut('Q'));
|
||||
quit.addActionListener(new ActionListener()
|
||||
{
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
System.exit(0);
|
||||
}
|
||||
});
|
||||
menu.add (quit);
|
||||
mb.add(menu);
|
||||
|
||||
setTitle("synthcity: the GNU Classpath MIDI Demo");
|
||||
setLayout(new FlowLayout());
|
||||
|
||||
MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();
|
||||
|
||||
for (int i = 0; i < infos.length; i++)
|
||||
{
|
||||
MidiDevice device = MidiSystem.getMidiDevice(infos[i]);
|
||||
if (device.getMaxReceivers() > 0)
|
||||
{
|
||||
midiOutChoice.addItem(infos[i].getDescription());
|
||||
outDevices.add(device);
|
||||
}
|
||||
if (device.getMaxTransmitters() > 0)
|
||||
{
|
||||
midiInChoice.addItem(infos[i].getDescription());
|
||||
inDevices.add(device);
|
||||
}
|
||||
}
|
||||
|
||||
setMenuBar (mb);
|
||||
add(new Label("MIDI IN: "));
|
||||
add(midiInChoice);
|
||||
add(new Label(" MIDI OUT: "));
|
||||
add(midiOutChoice);
|
||||
|
||||
midiInChoice.addItemListener(this);
|
||||
midiOutChoice.addItemListener(this);
|
||||
|
||||
pack();
|
||||
show();
|
||||
}
|
||||
|
||||
public void itemStateChanged (ItemEvent e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (e.getItemSelectable() == midiInChoice)
|
||||
{
|
||||
if (inDevice != null)
|
||||
inDevice.close();
|
||||
inDevice = (MidiDevice)
|
||||
inDevices.get(midiInChoice.getSelectedIndex());
|
||||
}
|
||||
|
||||
if (e.getItemSelectable() == midiOutChoice)
|
||||
{
|
||||
if (outDevice != null)
|
||||
outDevice.close();
|
||||
outDevice = (MidiDevice)
|
||||
outDevices.get(midiOutChoice.getSelectedIndex());
|
||||
}
|
||||
|
||||
if (inDevice != null && outDevice != null)
|
||||
{
|
||||
if (! inDevice.isOpen())
|
||||
inDevice.open();
|
||||
if (! outDevice.isOpen())
|
||||
outDevice.open();
|
||||
Transmitter t = inDevice.getTransmitter();
|
||||
if (t == null)
|
||||
System.err.println (inDevice + ".getTransmitter() == null");
|
||||
Receiver r = outDevice.getReceiver();
|
||||
if (r == null)
|
||||
System.err.println (outDevice + ".getReceiver() == null");
|
||||
|
||||
if (t != null && r != null)
|
||||
t.setReceiver (r);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void main (String args[]) throws Exception
|
||||
{
|
||||
new Demo();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,284 @@
|
||||
/* ButtonDemo.java -- An example showing various buttons in Swing.
|
||||
Copyright (C) 2005, Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath examples.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
*/
|
||||
|
||||
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.ButtonGroup;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JToggleButton;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.plaf.metal.MetalIconFactory;
|
||||
|
||||
/**
|
||||
* A simple button demo showing various buttons in different states.
|
||||
*/
|
||||
public class ButtonDemo
|
||||
extends JFrame
|
||||
implements ActionListener
|
||||
{
|
||||
|
||||
private JCheckBox buttonState;
|
||||
private JButton button1;
|
||||
private JButton button2;
|
||||
private JButton button3;
|
||||
private JButton button4;
|
||||
|
||||
private JCheckBox toggleState;
|
||||
private JToggleButton toggle1;
|
||||
private JToggleButton toggle2;
|
||||
private JToggleButton toggle3;
|
||||
private JToggleButton toggle4;
|
||||
|
||||
private JCheckBox checkBoxState;
|
||||
private JCheckBox checkBox1;
|
||||
private JCheckBox checkBox2;
|
||||
private JCheckBox checkBox3;
|
||||
|
||||
private JCheckBox radioState;
|
||||
private JRadioButton radio1;
|
||||
private JRadioButton radio2;
|
||||
private JRadioButton radio3;
|
||||
|
||||
/**
|
||||
* Creates a new demo instance.
|
||||
*
|
||||
* @param title the frame title.
|
||||
*/
|
||||
public ButtonDemo(String title)
|
||||
{
|
||||
super(title);
|
||||
JPanel content = createContent();
|
||||
JPanel closePanel = new JPanel();
|
||||
JButton closeButton = new JButton("Close");
|
||||
closeButton.setActionCommand("CLOSE");
|
||||
closeButton.addActionListener(this);
|
||||
closePanel.add(closeButton);
|
||||
content.add(closePanel, BorderLayout.SOUTH);
|
||||
getContentPane().add(content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a panel with the demo content. The panel
|
||||
* uses a BorderLayout(), and the BorderLayout.SOUTH area
|
||||
* is empty, to allow callers to add controls to the
|
||||
* bottom of the panel if they want to (a close button is
|
||||
* added if this demo is being run as a standalone demo).
|
||||
*/
|
||||
JPanel createContent()
|
||||
{
|
||||
JPanel content = new JPanel(new BorderLayout());
|
||||
JPanel panel = new JPanel(new GridLayout(4, 1));
|
||||
panel.add(createButtonPanel());
|
||||
panel.add(createTogglePanel());
|
||||
panel.add(createCheckBoxPanel());
|
||||
panel.add(createRadioPanel());
|
||||
content.add(panel);
|
||||
return content;
|
||||
}
|
||||
|
||||
private JPanel createButtonPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
this.buttonState = new JCheckBox("Enabled", true);
|
||||
this.buttonState.setActionCommand("BUTTON_STATE");
|
||||
this.buttonState.addActionListener(this);
|
||||
panel.add(this.buttonState, BorderLayout.EAST);
|
||||
|
||||
JPanel buttonPanel = new JPanel();
|
||||
buttonPanel.setBorder(BorderFactory.createTitledBorder("JButton"));
|
||||
this.button1 = new JButton("Button 1");
|
||||
|
||||
this.button2 = new JButton("Button 2");
|
||||
this.button2.setIcon(MetalIconFactory.getInternalFrameDefaultMenuIcon());
|
||||
|
||||
this.button3 = new JButton("Button 3");
|
||||
this.button3.setIcon(MetalIconFactory.getFileChooserHomeFolderIcon());
|
||||
this.button3.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||
this.button3.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||
|
||||
this.button4 = new JButton("Button 4");
|
||||
this.button4.setIcon(MetalIconFactory.getFileChooserUpFolderIcon());
|
||||
this.button4.setText(null);
|
||||
|
||||
buttonPanel.add(button1);
|
||||
buttonPanel.add(button2);
|
||||
buttonPanel.add(button3);
|
||||
buttonPanel.add(button4);
|
||||
|
||||
panel.add(buttonPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createTogglePanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
|
||||
this.toggleState = new JCheckBox("Enabled", true);
|
||||
this.toggleState.setActionCommand("TOGGLE_STATE");
|
||||
this.toggleState.addActionListener(this);
|
||||
|
||||
panel.add(this.toggleState, BorderLayout.EAST);
|
||||
|
||||
JPanel buttonPanel = new JPanel();
|
||||
buttonPanel.setBorder(BorderFactory.createTitledBorder("JToggleButton"));
|
||||
|
||||
this.toggle1 = new JToggleButton("Toggle 1");
|
||||
|
||||
this.toggle2 = new JToggleButton("Toggle 2");
|
||||
this.toggle2.setIcon(MetalIconFactory.getInternalFrameDefaultMenuIcon());
|
||||
|
||||
this.toggle3 = new JToggleButton("Toggle 3");
|
||||
this.toggle3.setIcon(MetalIconFactory.getFileChooserHomeFolderIcon());
|
||||
this.toggle3.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||
this.toggle3.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||
|
||||
this.toggle4 = new JToggleButton("Toggle 4");
|
||||
this.toggle4.setIcon(MetalIconFactory.getFileChooserUpFolderIcon());
|
||||
this.toggle4.setText(null);
|
||||
|
||||
ButtonGroup toggleGroup = new ButtonGroup();
|
||||
toggleGroup.add(toggle1);
|
||||
toggleGroup.add(toggle2);
|
||||
toggleGroup.add(toggle3);
|
||||
toggleGroup.add(toggle4);
|
||||
|
||||
buttonPanel.add(toggle1);
|
||||
buttonPanel.add(toggle2);
|
||||
buttonPanel.add(toggle3);
|
||||
buttonPanel.add(toggle4);
|
||||
|
||||
panel.add(buttonPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createCheckBoxPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
|
||||
this.checkBoxState = new JCheckBox("Enabled", true);
|
||||
this.checkBoxState.setActionCommand("CHECKBOX_STATE");
|
||||
this.checkBoxState.addActionListener(this);
|
||||
|
||||
panel.add(this.checkBoxState, BorderLayout.EAST);
|
||||
|
||||
JPanel buttonPanel = new JPanel();
|
||||
buttonPanel.setBorder(BorderFactory.createTitledBorder("JCheckBox"));
|
||||
this.checkBox1 = new JCheckBox("CheckBox 1");
|
||||
|
||||
this.checkBox2 = new JCheckBox("CheckBox 2");
|
||||
|
||||
this.checkBox3 = new JCheckBox("CheckBox 3");
|
||||
|
||||
buttonPanel.add(checkBox1);
|
||||
buttonPanel.add(checkBox2);
|
||||
buttonPanel.add(checkBox3);
|
||||
|
||||
panel.add(buttonPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createRadioPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
|
||||
this.radioState = new JCheckBox("Enabled", true);
|
||||
this.radioState.setActionCommand("RADIO_STATE");
|
||||
this.radioState.addActionListener(this);
|
||||
panel.add(this.radioState, BorderLayout.EAST);
|
||||
|
||||
JPanel buttonPanel = new JPanel();
|
||||
buttonPanel.setBorder(BorderFactory.createTitledBorder("JRadioButton"));
|
||||
this.radio1 = new JRadioButton("Radio 1");
|
||||
|
||||
this.radio2 = new JRadioButton("Radio 2");
|
||||
|
||||
this.radio3 = new JRadioButton("Radio 3");
|
||||
|
||||
ButtonGroup radioGroup = new ButtonGroup();
|
||||
radioGroup.add(radio1);
|
||||
radioGroup.add(radio2);
|
||||
radioGroup.add(radio3);
|
||||
|
||||
buttonPanel.add(radio1);
|
||||
buttonPanel.add(radio2);
|
||||
buttonPanel.add(radio3);
|
||||
|
||||
panel.add(buttonPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
if (e.getActionCommand().equals("BUTTON_STATE"))
|
||||
{
|
||||
button1.setEnabled(buttonState.isSelected());
|
||||
button2.setEnabled(buttonState.isSelected());
|
||||
button3.setEnabled(buttonState.isSelected());
|
||||
button4.setEnabled(buttonState.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("TOGGLE_STATE"))
|
||||
{
|
||||
toggle1.setEnabled(toggleState.isSelected());
|
||||
toggle2.setEnabled(toggleState.isSelected());
|
||||
toggle3.setEnabled(toggleState.isSelected());
|
||||
toggle4.setEnabled(toggleState.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("CHECKBOX_STATE"))
|
||||
{
|
||||
checkBox1.setEnabled(checkBoxState.isSelected());
|
||||
checkBox2.setEnabled(checkBoxState.isSelected());
|
||||
checkBox3.setEnabled(checkBoxState.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("RADIO_STATE"))
|
||||
{
|
||||
radio1.setEnabled(radioState.isSelected());
|
||||
radio2.setEnabled(radioState.isSelected());
|
||||
radio3.setEnabled(radioState.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("CLOSE"))
|
||||
{
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
ButtonDemo app = new ButtonDemo("Button Demo");
|
||||
app.pack();
|
||||
app.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<launchConfiguration type="org.eclipse.cdt.launch.localCLaunch">
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="org.eclipse.cdt.debug.mi.core.CDebugger"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.protocol" value="mi"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.STOP_ON_SOLIB_EVENTS" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
|
||||
<listAttribute key="org.eclipse.cdt.debug.mi.core.SOLIB_PATH"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_REGISTER_BOOKKEEPING" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.AUTO_SOLIB" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.use_terminal" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="jamvm"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_VARIABLE_BOOKKEEPING" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="gdb"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="src/jamvm"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel gnu.classpath.examples.swing.Demo"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.mi.core.GDB_INIT" value=""/>
|
||||
</launchConfiguration>
|
||||
@@ -0,0 +1,360 @@
|
||||
/* ComboBoxDemo.java -- An example showing various combo boxes in Swing.
|
||||
Copyright (C) 2005, Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath examples.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
*/
|
||||
|
||||
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.DefaultListCellRenderer;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.plaf.metal.MetalIconFactory;
|
||||
|
||||
/**
|
||||
* A simple demo showing various combo boxes in different states.
|
||||
*/
|
||||
public class ComboBoxDemo
|
||||
extends JFrame
|
||||
implements ActionListener
|
||||
{
|
||||
|
||||
class CustomCellRenderer extends DefaultListCellRenderer
|
||||
{
|
||||
public Component getListCellRendererComponent(JList list,
|
||||
Object value,
|
||||
int index,
|
||||
boolean isSelected,
|
||||
boolean cellHasFocus)
|
||||
{
|
||||
DefaultListCellRenderer result = (DefaultListCellRenderer)
|
||||
super.getListCellRendererComponent(list, value, index, isSelected,
|
||||
cellHasFocus);
|
||||
Icon icon = (Icon) value;
|
||||
result.setIcon(icon);
|
||||
result.setText("Index = " + index);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
private JCheckBox comboState1;
|
||||
private JComboBox combo1;
|
||||
private JComboBox combo2;
|
||||
|
||||
private JCheckBox comboState2;
|
||||
private JComboBox combo3;
|
||||
private JComboBox combo4;
|
||||
|
||||
private JCheckBox comboState3;
|
||||
private JComboBox combo5;
|
||||
private JComboBox combo6;
|
||||
|
||||
private JCheckBox comboState4;
|
||||
private JComboBox combo7;
|
||||
private JComboBox combo8;
|
||||
|
||||
private JCheckBox comboState5;
|
||||
private JComboBox combo9;
|
||||
private JComboBox combo10;
|
||||
|
||||
private JCheckBox comboState6;
|
||||
private JComboBox combo11;
|
||||
private JComboBox combo12;
|
||||
|
||||
/**
|
||||
* Creates a new demo instance.
|
||||
*
|
||||
* @param title the frame title.
|
||||
*/
|
||||
public ComboBoxDemo(String title)
|
||||
{
|
||||
super(title);
|
||||
JPanel content = createContent();
|
||||
JPanel closePanel = new JPanel();
|
||||
JButton closeButton = new JButton("Close");
|
||||
closeButton.setActionCommand("CLOSE");
|
||||
closeButton.addActionListener(this);
|
||||
closePanel.add(closeButton);
|
||||
content.add(closePanel, BorderLayout.SOUTH);
|
||||
getContentPane().add(content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a panel with the demo content. The panel
|
||||
* uses a BorderLayout(), and the BorderLayout.SOUTH area
|
||||
* is empty, to allow callers to add controls to the
|
||||
* bottom of the panel if they want to (a close button is
|
||||
* added if this demo is being run as a standalone demo).
|
||||
*/
|
||||
JPanel createContent()
|
||||
{
|
||||
JPanel content = new JPanel(new BorderLayout());
|
||||
JPanel panel = new JPanel(new GridLayout(6, 1));
|
||||
panel.add(createPanel1());
|
||||
panel.add(createPanel2());
|
||||
panel.add(createPanel3());
|
||||
panel.add(createPanel4());
|
||||
panel.add(createPanel5());
|
||||
panel.add(createPanel6());
|
||||
content.add(panel);
|
||||
return content;
|
||||
}
|
||||
|
||||
private JPanel createPanel1()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
this.comboState1 = new JCheckBox("Enabled", true);
|
||||
this.comboState1.setActionCommand("COMBO_STATE1");
|
||||
this.comboState1.addActionListener(this);
|
||||
panel.add(this.comboState1, BorderLayout.EAST);
|
||||
|
||||
JPanel controlPanel = new JPanel();
|
||||
controlPanel.setBorder(BorderFactory.createTitledBorder("Regular: "));
|
||||
this.combo1 = new JComboBox(new Object[] {"Australia", "New Zealand",
|
||||
"England"});
|
||||
|
||||
this.combo2 = new JComboBox(new Object[] {"Australia", "New Zealand",
|
||||
"England"});
|
||||
this.combo2.setEditable(true);
|
||||
|
||||
controlPanel.add(combo1);
|
||||
controlPanel.add(combo2);
|
||||
|
||||
panel.add(controlPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createPanel2()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
this.comboState2 = new JCheckBox("Enabled", true);
|
||||
this.comboState2.setActionCommand("COMBO_STATE2");
|
||||
this.comboState2.addActionListener(this);
|
||||
panel.add(this.comboState2, BorderLayout.EAST);
|
||||
|
||||
JPanel controlPanel = new JPanel();
|
||||
controlPanel.setBorder(BorderFactory.createTitledBorder("Large Font: "));
|
||||
this.combo3 = new JComboBox(new Object[] {"Australia", "New Zealand",
|
||||
"England"});
|
||||
this.combo3.setFont(new Font("Dialog", Font.PLAIN, 20));
|
||||
|
||||
this.combo4 = new JComboBox(new Object[] {"Australia", "New Zealand",
|
||||
"England"});
|
||||
this.combo4.setEditable(true);
|
||||
this.combo4.setFont(new Font("Dialog", Font.PLAIN, 20));
|
||||
|
||||
controlPanel.add(combo3);
|
||||
controlPanel.add(combo4);
|
||||
|
||||
panel.add(controlPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createPanel3()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
this.comboState3 = new JCheckBox("Enabled", true);
|
||||
this.comboState3.setActionCommand("COMBO_STATE3");
|
||||
this.comboState3.addActionListener(this);
|
||||
panel.add(this.comboState3, BorderLayout.EAST);
|
||||
|
||||
JPanel controlPanel = new JPanel();
|
||||
controlPanel.setBorder(BorderFactory.createTitledBorder("Colored Background: "));
|
||||
this.combo5 = new JComboBox(new Object[] {"Australia", "New Zealand",
|
||||
"England"});
|
||||
this.combo5.setBackground(Color.yellow);
|
||||
|
||||
this.combo6 = new JComboBox(new Object[] {"Australia", "New Zealand",
|
||||
"England"});
|
||||
this.combo6.setEditable(true);
|
||||
this.combo6.setBackground(Color.yellow);
|
||||
|
||||
controlPanel.add(combo5);
|
||||
controlPanel.add(combo6);
|
||||
|
||||
panel.add(controlPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
/**
|
||||
* This panel contains combo boxes that are empty.
|
||||
*
|
||||
* @return A panel.
|
||||
*/
|
||||
private JPanel createPanel4()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
this.comboState4 = new JCheckBox("Enabled", true);
|
||||
this.comboState4.setActionCommand("COMBO_STATE4");
|
||||
this.comboState4.addActionListener(this);
|
||||
panel.add(this.comboState4, BorderLayout.EAST);
|
||||
|
||||
JPanel controlPanel = new JPanel();
|
||||
controlPanel.setBorder(BorderFactory.createTitledBorder("Empty: "));
|
||||
this.combo7 = new JComboBox();
|
||||
this.combo8 = new JComboBox();
|
||||
this.combo8.setEditable(true);
|
||||
|
||||
controlPanel.add(combo7);
|
||||
controlPanel.add(combo8);
|
||||
|
||||
panel.add(controlPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
/**
|
||||
* This panel contains combo boxes that are narrow but contain long text
|
||||
* items.
|
||||
*
|
||||
* @return A panel.
|
||||
*/
|
||||
private JPanel createPanel5()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
this.comboState5 = new JCheckBox("Enabled", true);
|
||||
this.comboState5.setActionCommand("COMBO_STATE5");
|
||||
this.comboState5.addActionListener(this);
|
||||
panel.add(this.comboState5, BorderLayout.EAST);
|
||||
|
||||
JPanel controlPanel = new JPanel();
|
||||
controlPanel.setBorder(BorderFactory.createTitledBorder("Narrow: "));
|
||||
this.combo9 = new JComboBox(new Object[] {
|
||||
"A really long item that will be truncated when displayed"});
|
||||
this.combo9.setPreferredSize(new Dimension(100, 30));
|
||||
this.combo10 = new JComboBox(new Object[] {
|
||||
"A really long item that will be truncated when displayed"});
|
||||
this.combo10.setPreferredSize(new Dimension(100, 30));
|
||||
this.combo10.setEditable(true);
|
||||
|
||||
controlPanel.add(combo9);
|
||||
controlPanel.add(combo10);
|
||||
|
||||
panel.add(controlPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
/**
|
||||
* This panel contains combo boxes with a custom renderer.
|
||||
*
|
||||
* @return A panel.
|
||||
*/
|
||||
private JPanel createPanel6()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
this.comboState6 = new JCheckBox("Enabled", true);
|
||||
this.comboState6.setActionCommand("COMBO_STATE6");
|
||||
this.comboState6.addActionListener(this);
|
||||
panel.add(this.comboState6, BorderLayout.EAST);
|
||||
|
||||
JPanel controlPanel = new JPanel();
|
||||
controlPanel.setBorder(BorderFactory.createTitledBorder("Custom Renderer: "));
|
||||
this.combo11 = new JComboBox(new Object[] {
|
||||
MetalIconFactory.getFileChooserHomeFolderIcon(),
|
||||
MetalIconFactory.getFileChooserNewFolderIcon()});
|
||||
this.combo11.setPreferredSize(new Dimension(100, 30));
|
||||
this.combo11.setRenderer(new CustomCellRenderer());
|
||||
this.combo12 = new JComboBox(new Object[] {
|
||||
MetalIconFactory.getFileChooserHomeFolderIcon(),
|
||||
MetalIconFactory.getFileChooserNewFolderIcon()});
|
||||
this.combo12.setPreferredSize(new Dimension(100, 30));
|
||||
this.combo12.setRenderer(new CustomCellRenderer());
|
||||
this.combo12.setEditable(true);
|
||||
|
||||
controlPanel.add(combo11);
|
||||
controlPanel.add(combo12);
|
||||
|
||||
panel.add(controlPanel);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
if (e.getActionCommand().equals("COMBO_STATE1"))
|
||||
{
|
||||
combo1.setEnabled(comboState1.isSelected());
|
||||
combo2.setEnabled(comboState1.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("COMBO_STATE2"))
|
||||
{
|
||||
combo3.setEnabled(comboState2.isSelected());
|
||||
combo4.setEnabled(comboState2.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("COMBO_STATE3"))
|
||||
{
|
||||
combo5.setEnabled(comboState3.isSelected());
|
||||
combo6.setEnabled(comboState3.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("COMBO_STATE4"))
|
||||
{
|
||||
combo7.setEnabled(comboState4.isSelected());
|
||||
combo8.setEnabled(comboState4.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("COMBO_STATE5"))
|
||||
{
|
||||
combo9.setEnabled(comboState5.isSelected());
|
||||
combo10.setEnabled(comboState5.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("COMBO_STATE6"))
|
||||
{
|
||||
combo11.setEnabled(comboState6.isSelected());
|
||||
combo12.setEnabled(comboState6.isSelected());
|
||||
}
|
||||
else if (e.getActionCommand().equals("CLOSE"))
|
||||
{
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
UIManager.setLookAndFeel(new javax.swing.plaf.metal.MetalLookAndFeel());
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
ComboBoxDemo app = new ComboBoxDemo("ComboBox Demo");
|
||||
app.pack();
|
||||
app.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -24,20 +24,16 @@ package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.awt.font.*;
|
||||
import java.awt.geom.*;
|
||||
import java.awt.image.*;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.*;
|
||||
import javax.swing.plaf.*;
|
||||
import javax.swing.plaf.basic.*;
|
||||
import javax.swing.plaf.metal.MetalLookAndFeel;
|
||||
import javax.swing.tree.*;
|
||||
import javax.swing.border.*;
|
||||
|
||||
import javax.swing.plaf.metal.DefaultMetalTheme;
|
||||
import javax.swing.plaf.metal.MetalLookAndFeel;
|
||||
import javax.swing.plaf.metal.OceanTheme;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.*;
|
||||
|
||||
public class Demo
|
||||
{
|
||||
@@ -51,26 +47,44 @@ public class Demo
|
||||
if (System.getProperty("swing.defaultlaf") == null)
|
||||
{
|
||||
StringBuffer text = new StringBuffer();
|
||||
text.append("\tYou may change the Look and Feel of this\n");
|
||||
text.append("\tDemo by setting the system property\n");
|
||||
text.append("\t-Dswing.defaultlaf=<LAFClassName>\n\n");
|
||||
text.append("\tPossible values for <LAFClassName> are:\n");
|
||||
text.append("\t * javax.swing.plaf.metal.MetalLookAndFeel\n");
|
||||
text.append("\t\tthe default Java L&F\n");
|
||||
text.append("\t * gnu.classpath.examples.swing.GNULookAndFeel\n");
|
||||
text.append("\tthe GNU Look and Feel\n");
|
||||
text.append("\t(derived from javax.swing.plaf.basic.BasicLookAndFeel\n\n");
|
||||
text.append("\tthe default is gnu.classpath.examples.swing.GNULookAndFeel\n");
|
||||
JEditorPane textPane = new JEditorPane();
|
||||
// temporary hack, preferred size should be computed by the
|
||||
// component
|
||||
textPane.setPreferredSize(new Dimension(400, 300));
|
||||
textPane.setText(text.toString());
|
||||
JOptionPane.showMessageDialog(null, textPane,
|
||||
"Look and Feel notice",
|
||||
JOptionPane.INFORMATION_MESSAGE);
|
||||
|
||||
UIManager.setLookAndFeel(new GNULookAndFeel());
|
||||
text.append("You may change the Look and Feel of this\n");
|
||||
text.append("Demo by setting the system property\n");
|
||||
text.append("-Dswing.defaultlaf=<LAFClassName>\n");
|
||||
text.append("\n");
|
||||
text.append("Possible values for <LAFClassName> are:\n");
|
||||
text.append("\n");
|
||||
text.append("* javax.swing.plaf.metal.MetalLookAndFeel\n");
|
||||
text.append(" the default GNU Classpath L&F\n");
|
||||
text.append("\n");
|
||||
text.append("* gnu.classpath.examples.swing.GNULookAndFeel\n");
|
||||
text.append(" the GNU Look and Feel\n");
|
||||
text.append(" (derived from javax.swing.plaf.basic.BasicLookAndFeel)\n");
|
||||
text.append("\n");
|
||||
text.append("MetalLookAndFeel supports different Themes.\n");
|
||||
text.append("DefaultMetalTheme (the default) and OceanTheme (in development)\n");
|
||||
|
||||
final String DEFAULT = "MetalLookAndFeel (default)";
|
||||
final String OCEAN = "MetalLookAndFeel (Ocean)";
|
||||
final String GNU = "GNULookAndFeel";
|
||||
final String[] lafs = new String[] { DEFAULT, OCEAN, GNU };
|
||||
|
||||
int laf = JOptionPane.showOptionDialog(null, text /* textPane */,
|
||||
"Look and Feel choice",
|
||||
JOptionPane.OK_OPTION,
|
||||
JOptionPane.QUESTION_MESSAGE,
|
||||
null, lafs, DEFAULT);
|
||||
if (laf == 0)
|
||||
{
|
||||
MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme());
|
||||
UIManager.setLookAndFeel(new MetalLookAndFeel());
|
||||
}
|
||||
if (laf == 1)
|
||||
{
|
||||
MetalLookAndFeel.setCurrentTheme(new OceanTheme());
|
||||
UIManager.setLookAndFeel(new MetalLookAndFeel());
|
||||
}
|
||||
else if (laf == 2)
|
||||
UIManager.setLookAndFeel(new GNULookAndFeel());
|
||||
}
|
||||
}
|
||||
catch (UnsupportedLookAndFeelException e)
|
||||
@@ -147,10 +161,7 @@ public class Demo
|
||||
|
||||
JMenu examples = new JMenu("Examples");
|
||||
new PopUpAction("Buttons",
|
||||
mkPanel(new JComponent[]
|
||||
{mkBigButton("mango"),
|
||||
mkBigButton("guava"),
|
||||
mkBigButton("lemon")}),
|
||||
(new ButtonDemo("Button Demo")).createContent(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("Toggles",
|
||||
@@ -166,9 +177,13 @@ public class Demo
|
||||
examples);
|
||||
|
||||
new PopUpAction("Slider",
|
||||
mkSliders(),
|
||||
(new SliderDemo("Slider Demo")).createContent(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("ProgressBar",
|
||||
ProgressBarDemo.createContent(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("List",
|
||||
mkListPanel(new String[] { "hello",
|
||||
"this",
|
||||
@@ -181,7 +196,7 @@ public class Demo
|
||||
examples);
|
||||
|
||||
new PopUpAction("Scrollbar",
|
||||
mkScrollBar(),
|
||||
(new ScrollBarDemo("ScrollBarDemo")).createContent(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("Viewport",
|
||||
@@ -189,8 +204,8 @@ public class Demo
|
||||
examples);
|
||||
|
||||
new PopUpAction("ScrollPane",
|
||||
mkScrollPane(mkBigButton("Scroll Me!")),
|
||||
examples);
|
||||
mkScrollPane(mkBigButton("Scroll Me!")),
|
||||
examples);
|
||||
|
||||
new PopUpAction("TabPane",
|
||||
mkTabs(new String[] {"happy",
|
||||
@@ -203,19 +218,19 @@ public class Demo
|
||||
examples);
|
||||
|
||||
new PopUpAction("TextField",
|
||||
mkTextField("Hello, World!"),
|
||||
(new TextFieldDemo("TextField Demo")).createContent(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("FileChooser",
|
||||
(new FileChooserDemo("FileChooser Demo")).createContent(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("ColorChooser",
|
||||
mkColorChooser(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("ComboBox",
|
||||
mkComboBox(new String[] {"Stop",
|
||||
"Software",
|
||||
"Hoarders",
|
||||
"Support",
|
||||
"GNU!"}),
|
||||
(new ComboBoxDemo("ComboBox Demo")).createContent(),
|
||||
examples);
|
||||
|
||||
new PopUpAction("Editor",
|
||||
@@ -317,6 +332,7 @@ public class Demo
|
||||
else
|
||||
b = new JButton(title, icon);
|
||||
|
||||
b.setToolTipText(title);
|
||||
if (hAlign != -1) b.setHorizontalAlignment(hAlign);
|
||||
if (vAlign != -1) b.setVerticalAlignment(vAlign);
|
||||
if (hPos != -1) b.setHorizontalTextPosition(hPos);
|
||||
@@ -640,6 +656,14 @@ public class Demo
|
||||
panel.add(but, BorderLayout.NORTH);
|
||||
but.doClick();
|
||||
but.doClick();
|
||||
JInternalFrame palette = new JInternalFrame("Palette", true, true, true,
|
||||
true);
|
||||
palette.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
|
||||
desk.add(palette, JDesktopPane.PALETTE_LAYER);
|
||||
JLabel label = new JLabel("This is a floating palette!");
|
||||
palette.getContentPane().add(label);
|
||||
palette.pack();
|
||||
palette.setVisible(true);
|
||||
return panel;
|
||||
}
|
||||
|
||||
@@ -678,26 +702,6 @@ public class Demo
|
||||
return tabs;
|
||||
}
|
||||
|
||||
static JComponent mkSliders()
|
||||
{
|
||||
JSlider slider = new JSlider();
|
||||
slider.setPaintTrack(true);
|
||||
slider.setPaintTicks(true);
|
||||
slider.setMajorTickSpacing(30);
|
||||
slider.setMinorTickSpacing(5);
|
||||
slider.setPaintLabels(true);
|
||||
slider.setInverted(false);
|
||||
JProgressBar progress = new JProgressBar();
|
||||
BoundedRangeModel model = new DefaultBoundedRangeModel(10, 1, 0, 100);
|
||||
progress.setModel(model);
|
||||
slider.setModel(model);
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new GridLayout(1, 2));
|
||||
panel.add(slider);
|
||||
panel.add(progress);
|
||||
return panel;
|
||||
}
|
||||
|
||||
public Demo()
|
||||
{
|
||||
frame = new JFrame("Swing Activity Board");
|
||||
@@ -735,11 +739,17 @@ public class Demo
|
||||
return c;
|
||||
}
|
||||
|
||||
public static JRadioButton mkRadio(String label)
|
||||
public static JPanel mkRadio(String label)
|
||||
{
|
||||
JPanel p = new JPanel();
|
||||
JRadioButton c = new JRadioButton(label);
|
||||
c.setFont(new Font("Luxi", Font.PLAIN, 14));
|
||||
return c;
|
||||
JRadioButton d = new JRadioButton("not " + label);
|
||||
ButtonGroup bg = new ButtonGroup();
|
||||
bg.add(c);
|
||||
bg.add(d);
|
||||
p.add(c);
|
||||
p.add(d);
|
||||
return p;
|
||||
}
|
||||
|
||||
public static JList mkList(Object[] elts)
|
||||
@@ -1002,31 +1012,34 @@ public class Demo
|
||||
|
||||
private JPanel mkButtonBar()
|
||||
{
|
||||
JPanel panel = new JPanel ();
|
||||
panel.setLayout(new FlowLayout());
|
||||
JPanel panel = new JPanel (new GridLayout(2, 1));
|
||||
JPanel panelA = new JPanel(new FlowLayout());
|
||||
JPanel panelB = new JPanel(new FlowLayout());
|
||||
|
||||
new PopUpAction("Buttons",
|
||||
mkPanel(new JComponent[]
|
||||
{mkBigButton("mango"),
|
||||
mkBigButton("guava"),
|
||||
mkBigButton("lemon")}),
|
||||
panel);
|
||||
(new ButtonDemo("Button Demo")).createContent(),
|
||||
panelA);
|
||||
|
||||
new PopUpAction("Toggles",
|
||||
mkToggle("cool and refreshing"),
|
||||
panel);
|
||||
panelA);
|
||||
|
||||
new PopUpAction("Checkbox",
|
||||
mkCheckbox("ice cold"),
|
||||
panel);
|
||||
panelA);
|
||||
|
||||
new PopUpAction("Radio",
|
||||
mkRadio("delicious"),
|
||||
panel);
|
||||
panelA);
|
||||
|
||||
new PopUpAction("Slider",
|
||||
mkSliders(),
|
||||
panel);
|
||||
(new SliderDemo("Slider Demo")).createContent(),
|
||||
panelA);
|
||||
|
||||
new PopUpAction("ProgressBar",
|
||||
ProgressBarDemo.createContent(),
|
||||
panelA);
|
||||
|
||||
|
||||
new PopUpAction("List",
|
||||
mkListPanel(new String[] { "hello",
|
||||
@@ -1037,60 +1050,60 @@ public class Demo
|
||||
"that",
|
||||
"wraps",
|
||||
"over"}),
|
||||
panel);
|
||||
panelA);
|
||||
|
||||
new PopUpAction("Scrollbar",
|
||||
mkScrollBar(),
|
||||
panel);
|
||||
(new ScrollBarDemo("ScrollBar Demo")).createContent(),
|
||||
panelA);
|
||||
|
||||
new PopUpAction("Viewport",
|
||||
mkViewportBox(mkBigButton("View Me!")),
|
||||
panel);
|
||||
panelA);
|
||||
|
||||
new PopUpAction("ScrollPane",
|
||||
mkScrollPane(mkBigButton("Scroll Me!")),
|
||||
panel);
|
||||
panelA);
|
||||
|
||||
new PopUpAction("TabPane",
|
||||
mkTabs(new String[] {"happy",
|
||||
"sad",
|
||||
"indifferent"}),
|
||||
panel);
|
||||
panelB);
|
||||
|
||||
new PopUpAction("Spinner",
|
||||
mkSpinner(),
|
||||
panel);
|
||||
panelB);
|
||||
|
||||
new PopUpAction("TextField",
|
||||
mkTextField("Hello, World!"),
|
||||
panel);
|
||||
(new TextFieldDemo("TextField Demo")).createContent(),
|
||||
panelB);
|
||||
|
||||
new PopUpAction("FileChooser",
|
||||
(new FileChooserDemo("FileChooser Demo")).createContent(),
|
||||
panelB);
|
||||
|
||||
new PopUpAction("ColorChooser",
|
||||
mkColorChooser(),
|
||||
panel);
|
||||
panelB);
|
||||
|
||||
new PopUpAction("ComboBox",
|
||||
mkComboBox(new String[] {"Stop",
|
||||
"Software",
|
||||
"Hoarders",
|
||||
"Support",
|
||||
"GNU!"}),
|
||||
panel);
|
||||
(new ComboBoxDemo("ComboBox Demo")).createContent(),
|
||||
panelB);
|
||||
|
||||
new PopUpAction("Editor",
|
||||
mkEditorPane(),
|
||||
panel);
|
||||
panelB);
|
||||
|
||||
new PopUpAction("Tree",
|
||||
mkTree(),
|
||||
panel);
|
||||
panelB);
|
||||
|
||||
new PopUpAction("Table",
|
||||
mkTable(),
|
||||
panel);
|
||||
panelB);
|
||||
|
||||
JButton exitDisposer = mkDisposerButton(frame);
|
||||
panel.add(exitDisposer);
|
||||
panelB.add(exitDisposer);
|
||||
exitDisposer.addActionListener(new ActionListener()
|
||||
{
|
||||
public void actionPerformed(ActionEvent e)
|
||||
@@ -1098,11 +1111,8 @@ public class Demo
|
||||
System.exit(1);
|
||||
}
|
||||
});
|
||||
panel.add(panelA);
|
||||
panel.add(panelB);
|
||||
return panel;
|
||||
}
|
||||
|
||||
public static JTextField mkTextField(String sometext)
|
||||
{
|
||||
return new JTextField(sometext, 40);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
/* FileChooserDemo.java -- An example showing file choosers in Swing.
|
||||
Copyright (C) 2005, Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath examples.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
*/
|
||||
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.DefaultListModel;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.filechooser.FileFilter;
|
||||
|
||||
/**
|
||||
* A simple demo showing the {@link JFileChooser} component used in different
|
||||
* ways.
|
||||
*/
|
||||
public class FileChooserDemo extends JFrame implements ActionListener
|
||||
{
|
||||
/**
|
||||
* A file filter for Java source files.
|
||||
*/
|
||||
static class JavaFileFilter extends FileFilter
|
||||
{
|
||||
public String getDescription()
|
||||
{
|
||||
return "Java Source Files (.java)";
|
||||
}
|
||||
public boolean accept(File f)
|
||||
{
|
||||
if (f != null)
|
||||
{
|
||||
return f.getName().endsWith(".java") || f.isDirectory();
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/** A label to display the selected file. */
|
||||
JLabel selectedFileLabel;
|
||||
|
||||
/**
|
||||
* A list showing the selected files (where multi selections are
|
||||
* allowed).
|
||||
*/
|
||||
JList selectedFilesList;
|
||||
|
||||
/** A label to display the return code for the JFileChooser. */
|
||||
JLabel returnCodeLabel;
|
||||
|
||||
/**
|
||||
* Creates a new demo instance.
|
||||
*
|
||||
* @param frameTitle the frame title.
|
||||
*/
|
||||
public FileChooserDemo(String frameTitle)
|
||||
{
|
||||
super(frameTitle);
|
||||
JPanel content = createContent();
|
||||
JPanel closePanel = new JPanel();
|
||||
JButton closeButton = new JButton("Close");
|
||||
closeButton.setActionCommand("CLOSE");
|
||||
closeButton.addActionListener(this);
|
||||
closePanel.add(closeButton);
|
||||
content.add(closePanel, BorderLayout.SOUTH);
|
||||
getContentPane().add(content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a panel with the demo content. The panel
|
||||
* uses a BorderLayout(), and the BorderLayout.SOUTH area
|
||||
* is empty, to allow callers to add controls to the
|
||||
* bottom of the panel if they want to (a close button is
|
||||
* added if this demo is being run as a standalone demo).
|
||||
*/
|
||||
JPanel createContent()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
|
||||
// create a panel of buttons to select the different styles of file
|
||||
// chooser...
|
||||
JPanel buttonPanel = new JPanel(new GridLayout(5, 1));
|
||||
JButton openButton = new JButton("Open...");
|
||||
openButton.setActionCommand("OPEN");
|
||||
openButton.addActionListener(this);
|
||||
buttonPanel.add(openButton);
|
||||
JButton saveButton = new JButton("Save...");
|
||||
saveButton.setActionCommand("SAVE");
|
||||
saveButton.addActionListener(this);
|
||||
buttonPanel.add(saveButton);
|
||||
JButton queryButton = new JButton("Select Directory...");
|
||||
queryButton.setActionCommand("SELECT_DIRECTORY");
|
||||
queryButton.addActionListener(this);
|
||||
buttonPanel.add(queryButton);
|
||||
JButton openJavaButton = new JButton("Open Java file...");
|
||||
openJavaButton.setActionCommand("OPEN_JAVA");
|
||||
openJavaButton.addActionListener(this);
|
||||
buttonPanel.add(openJavaButton);
|
||||
JButton openMultiButton = new JButton("Open multiple files...");
|
||||
openMultiButton.setActionCommand("OPEN_MULTI");
|
||||
openMultiButton.addActionListener(this);
|
||||
buttonPanel.add(openMultiButton);
|
||||
panel.add(buttonPanel, BorderLayout.WEST);
|
||||
|
||||
// create a panel to display the selected file(s) and the return code
|
||||
JPanel displayPanel = new JPanel(new BorderLayout());
|
||||
|
||||
selectedFileLabel = new JLabel("-");
|
||||
selectedFileLabel.setBorder(BorderFactory.createTitledBorder("Selected File/Directory: "));
|
||||
displayPanel.add(selectedFileLabel, BorderLayout.NORTH);
|
||||
|
||||
selectedFilesList = new JList();
|
||||
JScrollPane sp = new JScrollPane(selectedFilesList);
|
||||
sp.setBorder(BorderFactory.createTitledBorder("Selected Files: "));
|
||||
displayPanel.add(sp);
|
||||
|
||||
returnCodeLabel = new JLabel("0");
|
||||
returnCodeLabel.setBorder(BorderFactory.createTitledBorder("Return Code:"));
|
||||
displayPanel.add(returnCodeLabel, BorderLayout.SOUTH);
|
||||
|
||||
panel.add(displayPanel);
|
||||
return panel;
|
||||
}
|
||||
|
||||
/**
|
||||
* When the user clicks on a button, launch the appropriate file chooser
|
||||
* and report the results.
|
||||
*
|
||||
* @param e the event.
|
||||
*/
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
int option = 0;
|
||||
File selectedFile = null;
|
||||
File[] selectedFiles = new File[0];
|
||||
|
||||
if (e.getActionCommand().equals("CLOSE"))
|
||||
{
|
||||
System.exit(0);
|
||||
}
|
||||
else if (e.getActionCommand().equals("OPEN"))
|
||||
{
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
option = chooser.showOpenDialog(this);
|
||||
selectedFile = chooser.getSelectedFile();
|
||||
selectedFiles = chooser.getSelectedFiles();
|
||||
}
|
||||
else if (e.getActionCommand().equals("OPEN_MULTI"))
|
||||
{
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
chooser.setMultiSelectionEnabled(true);
|
||||
option = chooser.showOpenDialog(this);
|
||||
selectedFile = chooser.getSelectedFile();
|
||||
selectedFiles = chooser.getSelectedFiles();
|
||||
}
|
||||
else if (e.getActionCommand().equals("OPEN_JAVA"))
|
||||
{
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
chooser.setAcceptAllFileFilterUsed(false);
|
||||
chooser.setFileFilter(new JavaFileFilter());
|
||||
option = chooser.showOpenDialog(this);
|
||||
selectedFile = chooser.getSelectedFile();
|
||||
selectedFiles = chooser.getSelectedFiles();
|
||||
}
|
||||
else if (e.getActionCommand().equals("SAVE"))
|
||||
{
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
option = chooser.showSaveDialog(this);
|
||||
selectedFile = chooser.getSelectedFile();
|
||||
selectedFiles = chooser.getSelectedFiles();
|
||||
}
|
||||
else if (e.getActionCommand().equals("SELECT_DIRECTORY"))
|
||||
{
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
option = chooser.showDialog(this, "Select");
|
||||
selectedFile = chooser.getSelectedFile();
|
||||
selectedFiles = chooser.getSelectedFiles();
|
||||
}
|
||||
|
||||
// display the selection and return code
|
||||
if (selectedFile != null)
|
||||
selectedFileLabel.setText(selectedFile.toString());
|
||||
else
|
||||
selectedFileLabel.setText("null");
|
||||
DefaultListModel listModel = new DefaultListModel();
|
||||
for (int i = 0; i < selectedFiles.length; i++)
|
||||
listModel.addElement(selectedFiles[i]);
|
||||
selectedFilesList.setModel(listModel);
|
||||
returnCodeLabel.setText(Integer.toString(option));
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
FileChooserDemo app = new FileChooserDemo("File Chooser Demo");
|
||||
app.pack();
|
||||
app.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -22,8 +22,13 @@ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Graphics;
|
||||
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.plaf.ColorUIResource;
|
||||
import javax.swing.plaf.IconUIResource;
|
||||
@@ -64,8 +69,10 @@ public class GNULookAndFeel extends BasicLookAndFeel
|
||||
"MenuBar.background", new ColorUIResource(blueGray),
|
||||
"MenuItem.background", new ColorUIResource(blueGray),
|
||||
"ScrollBar.background", new ColorUIResource(blueGray),
|
||||
|
||||
"Tree.closedIcon",
|
||||
"CheckBox.icon", new CheckBoxIcon(),
|
||||
"RadioButton.icon", new RadioButtonIcon(),
|
||||
|
||||
"Tree.closedIcon",
|
||||
new IconUIResource(new ImageIcon
|
||||
(getClass().getResource
|
||||
(iconspath + "TreeClosed.png"))),
|
||||
@@ -82,4 +89,177 @@ public class GNULookAndFeel extends BasicLookAndFeel
|
||||
}
|
||||
return LAF_defaults;
|
||||
}
|
||||
|
||||
/**
|
||||
* The icon used for CheckBoxes in the BasicLookAndFeel. This is an empty
|
||||
* icon with a size of 13x13 pixels.
|
||||
*/
|
||||
static class CheckBoxIcon
|
||||
implements Icon
|
||||
{
|
||||
/**
|
||||
* Returns the height of the icon. The BasicLookAndFeel CheckBox icon
|
||||
* has a height of 13 pixels.
|
||||
*
|
||||
* @return the height of the icon
|
||||
*/
|
||||
public int getIconHeight()
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the width of the icon. The BasicLookAndFeel CheckBox icon
|
||||
* has a width of 13 pixels.
|
||||
*
|
||||
* @return the height of the icon
|
||||
*/
|
||||
public int getIconWidth()
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paints the icon. The BasicLookAndFeel CheckBox icon is empty and does
|
||||
* not need to be painted.
|
||||
*
|
||||
* @param c the component to be painted
|
||||
* @param g the Graphics context to be painted with
|
||||
* @param x the x position of the icon
|
||||
* @param y the y position of the icon
|
||||
*/
|
||||
public void paintIcon(Component c, Graphics g, int x, int y)
|
||||
{
|
||||
Color save = g.getColor();
|
||||
g.setColor(c.getForeground());
|
||||
g.drawRect(x, y, getIconWidth(), getIconHeight());
|
||||
|
||||
JCheckBox item = (JCheckBox) c;
|
||||
if (item.isSelected())
|
||||
{
|
||||
g.drawLine(3 + x, 5 + y, 3 + x, 9 + y);
|
||||
g.drawLine(4 + x, 5 + y, 4 + x, 9 + y);
|
||||
g.drawLine(5 + x, 7 + y, 9 + x, 3 + y);
|
||||
g.drawLine(5 + x, 8 + y, 9 + x, 4 + y);
|
||||
}
|
||||
|
||||
g.setColor(save);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The icon used for RadioButtons in the GNULookAndFeel. This is an empty
|
||||
* icon with a size of 13x13 pixels.
|
||||
*/
|
||||
static class RadioButtonIcon
|
||||
implements Icon
|
||||
{
|
||||
/**
|
||||
* Returns the height of the icon. The GNULookAndFeel RadioButton icon
|
||||
* has a height of 13 pixels.
|
||||
*
|
||||
* @return the height of the icon
|
||||
*/
|
||||
public int getIconHeight()
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the width of the icon. The GNULookAndFeel RadioButton icon
|
||||
* has a width of 13 pixels.
|
||||
*
|
||||
* @return the height of the icon
|
||||
*/
|
||||
public int getIconWidth()
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paints the icon. The GNULookAndFeel RadioButton icon is empty and does
|
||||
* not need to be painted.
|
||||
*
|
||||
* @param c the component to be painted
|
||||
* @param g the Graphics context to be painted with
|
||||
* @param x the x position of the icon
|
||||
* @param y the y position of the icon
|
||||
*/
|
||||
public void paintIcon(Component c, Graphics g, int x, int y)
|
||||
{
|
||||
Color savedColor = g.getColor();
|
||||
JRadioButton b = (JRadioButton) c;
|
||||
|
||||
// draw outer circle
|
||||
if (b.isEnabled())
|
||||
g.setColor(Color.GRAY);
|
||||
else
|
||||
g.setColor(Color.GRAY);
|
||||
g.drawLine(x + 2, y + 1, x + 3, y + 1);
|
||||
g.drawLine(x + 4, y, x + 7, y);
|
||||
g.drawLine(x + 8, y + 1, x + 9, y + 1);
|
||||
g.drawLine(x + 10, y + 2, x + 10, y + 3);
|
||||
g.drawLine(x + 11, y + 4, x + 11, y + 7);
|
||||
g.drawLine(x + 10, y + 8, x + 10, y + 9);
|
||||
g.drawLine(x + 8, y + 10, x + 9, y + 10);
|
||||
g.drawLine(x + 4, y + 11, x + 7, y + 11);
|
||||
g.drawLine(x + 2, y + 10, x + 3, y + 10);
|
||||
g.drawLine(x + 1, y + 9, x + 1, y + 8);
|
||||
g.drawLine(x, y + 7, x, y + 4);
|
||||
g.drawLine(x + 1, y + 2, x + 1, y + 3);
|
||||
|
||||
if (b.getModel().isArmed())
|
||||
{
|
||||
g.setColor(Color.GRAY);
|
||||
g.drawLine(x + 4, y + 1, x + 7, y + 1);
|
||||
g.drawLine(x + 4, y + 10, x + 7, y + 10);
|
||||
g.drawLine(x + 1, y + 4, x + 1, y + 7);
|
||||
g.drawLine(x + 10, y + 4, x + 10, y + 7);
|
||||
g.fillRect(x + 2, y + 2, 8, 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
// only draw inner highlight if not filled
|
||||
if (b.isEnabled())
|
||||
{
|
||||
g.setColor(Color.WHITE);
|
||||
|
||||
g.drawLine(x + 2, y + 8, x + 2, y + 9);
|
||||
g.drawLine(x + 1, y + 4, x + 1, y + 7);
|
||||
g.drawLine(x + 2, y + 2, x + 2, y + 3);
|
||||
g.drawLine(x + 3, y + 2, x + 3, y + 2);
|
||||
g.drawLine(x + 4, y + 1, x + 7, y + 1);
|
||||
g.drawLine(x + 8, y + 2, x + 9, y + 2);
|
||||
}
|
||||
}
|
||||
|
||||
// draw outer highlight
|
||||
if (b.isEnabled())
|
||||
{
|
||||
g.setColor(Color.WHITE);
|
||||
|
||||
// outer
|
||||
g.drawLine(x + 10, y + 1, x + 10, y + 1);
|
||||
g.drawLine(x + 11, y + 2, x + 11, y + 3);
|
||||
g.drawLine(x + 12, y + 4, x + 12, y + 7);
|
||||
g.drawLine(x + 11, y + 8, x + 11, y + 9);
|
||||
g.drawLine(x + 10, y + 10, x + 10, y + 10);
|
||||
g.drawLine(x + 8, y + 11, x + 9, y + 11);
|
||||
g.drawLine(x + 4, y + 12, x + 7, y + 12);
|
||||
g.drawLine(x + 2, y + 11, x + 3, y + 11);
|
||||
}
|
||||
|
||||
if (b.isSelected())
|
||||
{
|
||||
if (b.isEnabled())
|
||||
g.setColor(Color.BLACK);
|
||||
else
|
||||
g.setColor(Color.GRAY);
|
||||
g.drawLine(x + 4, y + 3, x + 7, y + 3);
|
||||
g.fillRect(x + 3, y + 4, 6, 4);
|
||||
g.drawLine(x + 4, y + 8, x + 7, y + 8);
|
||||
}
|
||||
g.setColor(savedColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,219 @@
|
||||
/* ProgressBarDemo.java -- A demonstration of JProgressBars
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
|
||||
Linking this library statically or dynamically with other modules is
|
||||
making a combined work based on this library. Thus, the terms and
|
||||
conditions of the GNU General Public License cover the whole
|
||||
combination.
|
||||
|
||||
As a special exception, the copyright holders of this library give you
|
||||
permission to link this library with independent modules to produce an
|
||||
executable, regardless of the license terms of these independent
|
||||
modules, and to copy and distribute the resulting executable under
|
||||
terms of your choice, provided that you also meet, for each linked
|
||||
independent module, the terms and conditions of the license of that
|
||||
module. An independent module is a module which is not derived from
|
||||
or based on this library. If you modify this library, you may extend
|
||||
this exception to your version of the library, but you are not
|
||||
obligated to do so. If you do not wish to do so, delete this
|
||||
exception statement from your version. */
|
||||
|
||||
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.Box;
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JProgressBar;
|
||||
import javax.swing.JSlider;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.ChangeListener;
|
||||
|
||||
public class ProgressBarDemo
|
||||
extends JFrame
|
||||
implements ActionListener
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a new ProgressBarDemo window with the specified title.
|
||||
*
|
||||
* @param title the title of the program window
|
||||
*/
|
||||
ProgressBarDemo(String title)
|
||||
{
|
||||
super(title);
|
||||
JPanel content = createContent();
|
||||
JPanel closePanel = new JPanel();
|
||||
JButton closeButton = new JButton("Close");
|
||||
closeButton.setActionCommand("CLOSE");
|
||||
closeButton.addActionListener(this);
|
||||
closePanel.add(closeButton);
|
||||
getContentPane().add(content);
|
||||
getContentPane().add(closePanel, BorderLayout.SOUTH);
|
||||
}
|
||||
|
||||
static JPanel createContent()
|
||||
{
|
||||
JPanel content = new JPanel();
|
||||
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));
|
||||
JPanel horizontalProgressBar = createHorizontalProgressBar();
|
||||
content.add(horizontalProgressBar);
|
||||
content.add(Box.createVerticalStrut(10));
|
||||
JPanel verticalProgressBar = createVerticalProgressBar();
|
||||
content.add(verticalProgressBar);
|
||||
return content;
|
||||
}
|
||||
|
||||
private static JPanel createHorizontalProgressBar()
|
||||
{
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
|
||||
|
||||
// Plain progress bar.
|
||||
final JProgressBar hor1 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
|
||||
panel.add(hor1);
|
||||
final JSlider slider1 = new JSlider(JSlider.HORIZONTAL, 0, 100, 0);
|
||||
slider1.addChangeListener(new ChangeListener()
|
||||
{
|
||||
public void stateChanged(ChangeEvent event)
|
||||
{
|
||||
hor1.setValue(slider1.getValue());
|
||||
}
|
||||
});
|
||||
panel.add(slider1);
|
||||
|
||||
panel.add(Box.createVerticalStrut(5));
|
||||
|
||||
// Plain progress bar with some text.
|
||||
final JProgressBar hor2 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
|
||||
hor2.setString("ProgressBar Demo");
|
||||
hor2.setStringPainted(true);
|
||||
panel.add(hor2);
|
||||
final JSlider slider2 = new JSlider(JSlider.HORIZONTAL, 0, 100, 0);
|
||||
slider2.addChangeListener(new ChangeListener()
|
||||
{
|
||||
public void stateChanged(ChangeEvent event)
|
||||
{
|
||||
hor2.setValue(slider2.getValue());
|
||||
}
|
||||
});
|
||||
panel.add(slider2);
|
||||
|
||||
panel.add(Box.createVerticalStrut(5));
|
||||
|
||||
// Indeterminate progress bar.
|
||||
final JProgressBar hor3 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
|
||||
hor3.setIndeterminate(true);
|
||||
panel.add(hor3);
|
||||
|
||||
panel.add(Box.createVerticalStrut(5));
|
||||
|
||||
// Indeterminate progress bar with text.
|
||||
final JProgressBar hor4 = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
|
||||
hor4.setIndeterminate(true);
|
||||
hor4.setString("Indeterminate ProgressBar");
|
||||
hor4.setStringPainted(true);
|
||||
panel.add(hor4);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private static JPanel createVerticalProgressBar()
|
||||
{
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
|
||||
final JProgressBar vert = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
|
||||
panel.add(vert);
|
||||
final JSlider slider = new JSlider(JSlider.VERTICAL, 0, 100, 0);
|
||||
slider.addChangeListener(new ChangeListener()
|
||||
{
|
||||
public void stateChanged(ChangeEvent event)
|
||||
{
|
||||
vert.setValue(slider.getValue());
|
||||
}
|
||||
});
|
||||
panel.add(slider);
|
||||
|
||||
panel.add(Box.createHorizontalStrut(5));
|
||||
|
||||
final JProgressBar vert2 = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
|
||||
vert2.setString("ProgressBar Demo");
|
||||
panel.add(vert2);
|
||||
vert2.setStringPainted(true);
|
||||
final JSlider slider2 = new JSlider(JSlider.VERTICAL, 0, 100, 0);
|
||||
slider2.addChangeListener(new ChangeListener()
|
||||
{
|
||||
public void stateChanged(ChangeEvent event)
|
||||
{
|
||||
vert2.setValue(slider2.getValue());
|
||||
}
|
||||
});
|
||||
panel.add(slider2);
|
||||
|
||||
panel.add(Box.createHorizontalStrut(5));
|
||||
|
||||
// Indeterminate progress bar.
|
||||
final JProgressBar vert3 = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
|
||||
vert3.setIndeterminate(true);
|
||||
panel.add(vert3);
|
||||
|
||||
panel.add(Box.createHorizontalStrut(5));
|
||||
|
||||
// Indeterminate progress bar with text.
|
||||
final JProgressBar vert4 = new JProgressBar(JProgressBar.VERTICAL, 0, 100);
|
||||
vert4.setIndeterminate(true);
|
||||
vert4.setString("Indeterminate ProgressBar");
|
||||
vert4.setStringPainted(true);
|
||||
panel.add(vert4);
|
||||
return panel;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent event)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The entry point when running as a standalone program.
|
||||
*
|
||||
* @param args command line arguments
|
||||
*/
|
||||
public static void main(String[] args)
|
||||
{
|
||||
SwingUtilities.invokeLater(
|
||||
new Runnable()
|
||||
{
|
||||
public void run()
|
||||
{
|
||||
ProgressBarDemo app = new ProgressBarDemo("ProgressBar Demo");
|
||||
app.pack();
|
||||
app.setVisible(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
/* ScrollBarDemo.java -- An example showing scroll bars in Swing.
|
||||
Copyright (C) 2005, Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath examples.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
*/
|
||||
|
||||
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollBar;
|
||||
|
||||
/**
|
||||
* A simple scroll bar demo showing various scroll bars in different states.
|
||||
*/
|
||||
public class ScrollBarDemo
|
||||
extends JFrame
|
||||
implements ActionListener
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a new demo instance.
|
||||
*
|
||||
* @param title the frame title.
|
||||
*/
|
||||
public ScrollBarDemo(String title)
|
||||
{
|
||||
super(title);
|
||||
JPanel content = createContent();
|
||||
JPanel closePanel = new JPanel();
|
||||
JButton closeButton = new JButton("Close");
|
||||
closeButton.setActionCommand("CLOSE");
|
||||
closeButton.addActionListener(this);
|
||||
closePanel.add(closeButton);
|
||||
content.add(closePanel, BorderLayout.SOUTH);
|
||||
getContentPane().add(content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a panel with the demo content. The panel
|
||||
* uses a BorderLayout(), and the BorderLayout.SOUTH area
|
||||
* is empty, to allow callers to add controls to the
|
||||
* bottom of the panel if they want to (a close button is
|
||||
* added if this demo is being run as a standalone demo).
|
||||
*/
|
||||
JPanel createContent()
|
||||
{
|
||||
JPanel content = new JPanel(new BorderLayout());
|
||||
JPanel panel = createScrollBarPanel();
|
||||
content.add(panel);
|
||||
return content;
|
||||
}
|
||||
|
||||
private JPanel createScrollBarPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
|
||||
JPanel horizontalPanel = new JPanel();
|
||||
|
||||
JScrollBar scroll1a = new JScrollBar(JScrollBar.HORIZONTAL);
|
||||
JScrollBar scroll1b = new JScrollBar(JScrollBar.HORIZONTAL);
|
||||
scroll1b.setEnabled(false);
|
||||
JScrollBar scroll1c = new JScrollBar(JScrollBar.HORIZONTAL);
|
||||
scroll1c.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
|
||||
JScrollBar scroll1d = new JScrollBar(JScrollBar.HORIZONTAL);
|
||||
scroll1d.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
|
||||
scroll1d.setEnabled(false);
|
||||
horizontalPanel.add(scroll1a);
|
||||
horizontalPanel.add(scroll1b);
|
||||
horizontalPanel.add(scroll1c);
|
||||
horizontalPanel.add(scroll1d);
|
||||
|
||||
panel.add(horizontalPanel, BorderLayout.NORTH);
|
||||
|
||||
JPanel verticalPanel = new JPanel();
|
||||
verticalPanel.setLayout(new GridLayout(1, 7));
|
||||
|
||||
JScrollBar scroll2a = new JScrollBar(JScrollBar.VERTICAL);
|
||||
JScrollBar scroll2b = new JScrollBar(JScrollBar.VERTICAL);
|
||||
scroll2b.setEnabled(false);
|
||||
JScrollBar scroll2c = new JScrollBar(JScrollBar.VERTICAL);
|
||||
scroll2c.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
|
||||
JScrollBar scroll2d = new JScrollBar(JScrollBar.VERTICAL);
|
||||
scroll2d.setEnabled(false);
|
||||
scroll2d.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
|
||||
|
||||
verticalPanel.add(scroll2a);
|
||||
verticalPanel.add(new JPanel());
|
||||
verticalPanel.add(scroll2b);
|
||||
verticalPanel.add(new JPanel());
|
||||
verticalPanel.add(scroll2c);
|
||||
verticalPanel.add(new JPanel());
|
||||
verticalPanel.add(scroll2d);
|
||||
|
||||
panel.add(verticalPanel, BorderLayout.EAST);
|
||||
|
||||
JPanel centerPanel = new JPanel(new GridLayout(1, 2));
|
||||
centerPanel.add(new JScrollBar(JScrollBar.HORIZONTAL));
|
||||
centerPanel.add(new JScrollBar(JScrollBar.VERTICAL));
|
||||
panel.add(centerPanel);
|
||||
return panel;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
if (e.getActionCommand().equals("CLOSE"))
|
||||
{
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
ScrollBarDemo app = new ScrollBarDemo("ScrollBar Demo");
|
||||
app.pack();
|
||||
app.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
/* SliderDemo.java -- An example showing JSlider in various configurations.
|
||||
Copyright (C) 2005, Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath examples.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
*/
|
||||
|
||||
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JSlider;
|
||||
|
||||
public class SliderDemo extends JFrame implements ActionListener
|
||||
{
|
||||
|
||||
JSlider hslider1;
|
||||
JSlider hslider2;
|
||||
JSlider hslider3;
|
||||
JSlider hslider4;
|
||||
JSlider hslider5;
|
||||
JSlider hslider6;
|
||||
JSlider hslider7;
|
||||
JSlider hslider8;
|
||||
|
||||
JSlider vslider1;
|
||||
JSlider vslider2;
|
||||
JSlider vslider3;
|
||||
JSlider vslider4;
|
||||
JSlider vslider5;
|
||||
JSlider vslider6;
|
||||
JSlider vslider7;
|
||||
JSlider vslider8;
|
||||
|
||||
JCheckBox enabledCheckBox;
|
||||
|
||||
public SliderDemo(String frameTitle)
|
||||
{
|
||||
super(frameTitle);
|
||||
JPanel content = createContent();
|
||||
JPanel closePanel = new JPanel();
|
||||
JButton closeButton = new JButton("Close");
|
||||
closeButton.setActionCommand("CLOSE");
|
||||
closeButton.addActionListener(this);
|
||||
closePanel.add(closeButton);
|
||||
content.add(closePanel, BorderLayout.SOUTH);
|
||||
getContentPane().add(content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a panel with the demo content. The panel
|
||||
* uses a BorderLayout(), and the BorderLayout.SOUTH area
|
||||
* is empty, to allow callers to add controls to the
|
||||
* bottom of the panel if they want to (a close button is
|
||||
* added if this demo is being run as a standalone demo).
|
||||
*/
|
||||
JPanel createContent()
|
||||
{
|
||||
JPanel content = new JPanel(new BorderLayout());
|
||||
JPanel panel = new JPanel(new GridLayout(1, 2));
|
||||
panel.add(createHorizontalPanel());
|
||||
panel.add(createVerticalPanel());
|
||||
enabledCheckBox = new JCheckBox("Enabled");
|
||||
enabledCheckBox.setSelected(true);
|
||||
enabledCheckBox.setActionCommand("TOGGLE_ENABLED");
|
||||
enabledCheckBox.addActionListener(this);
|
||||
JPanel checkBoxPanel = new JPanel();
|
||||
checkBoxPanel.add(enabledCheckBox);
|
||||
JPanel panel2 = new JPanel(new BorderLayout());
|
||||
panel2.add(panel);
|
||||
panel2.add(checkBoxPanel, BorderLayout.SOUTH);
|
||||
content.add(panel2);
|
||||
return content;
|
||||
}
|
||||
|
||||
private JPanel createHorizontalPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new GridLayout(8, 1));
|
||||
|
||||
hslider1 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
panel.add(hslider1);
|
||||
|
||||
hslider2 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
hslider2.setMajorTickSpacing(20);
|
||||
hslider2.setMinorTickSpacing(5);
|
||||
hslider2.setPaintTicks(true);
|
||||
panel.add(hslider2);
|
||||
|
||||
hslider3 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
hslider3.setMajorTickSpacing(20);
|
||||
hslider3.setMinorTickSpacing(5);
|
||||
hslider3.setPaintLabels(true);
|
||||
hslider3.setPaintTicks(true);
|
||||
panel.add(hslider3);
|
||||
|
||||
hslider4 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
hslider4.putClientProperty("JSlider.isFilled", Boolean.TRUE);
|
||||
hslider4.setMajorTickSpacing(20);
|
||||
hslider4.setMinorTickSpacing(5);
|
||||
hslider4.setPaintLabels(true);
|
||||
hslider4.setPaintTicks(true);
|
||||
panel.add(hslider4);
|
||||
|
||||
hslider5 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
hslider5.setInverted(true);
|
||||
panel.add(hslider5);
|
||||
|
||||
hslider6 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
hslider6.setInverted(true);
|
||||
hslider6.setMajorTickSpacing(20);
|
||||
hslider6.setMinorTickSpacing(5);
|
||||
hslider6.setPaintTicks(true);
|
||||
panel.add(hslider6);
|
||||
|
||||
hslider7 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
hslider7.setInverted(true);
|
||||
hslider7.setMajorTickSpacing(20);
|
||||
hslider7.setMinorTickSpacing(5);
|
||||
hslider7.setPaintLabels(true);
|
||||
hslider7.setPaintTicks(true);
|
||||
panel.add(hslider7);
|
||||
|
||||
hslider8 = new JSlider(JSlider.HORIZONTAL, 0, 100, 35);
|
||||
hslider8.putClientProperty("JSlider.isFilled", Boolean.TRUE);
|
||||
hslider8.setInverted(true);
|
||||
hslider8.setMajorTickSpacing(20);
|
||||
hslider8.setMinorTickSpacing(5);
|
||||
hslider8.setPaintLabels(true);
|
||||
hslider8.setPaintTicks(true);
|
||||
panel.add(hslider8);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createVerticalPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new GridLayout(1, 8));
|
||||
|
||||
vslider1 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
panel.add(vslider1);
|
||||
|
||||
vslider2 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
vslider2.setMajorTickSpacing(20);
|
||||
vslider2.setMinorTickSpacing(5);
|
||||
vslider2.setPaintTicks(true);
|
||||
panel.add(vslider2);
|
||||
|
||||
vslider3 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
vslider3.setMajorTickSpacing(20);
|
||||
vslider3.setMinorTickSpacing(5);
|
||||
vslider3.setPaintLabels(true);
|
||||
vslider3.setPaintTicks(true);
|
||||
panel.add(vslider3);
|
||||
|
||||
vslider4 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
vslider4.putClientProperty("JSlider.isFilled", Boolean.TRUE);
|
||||
vslider4.setMajorTickSpacing(20);
|
||||
vslider4.setMinorTickSpacing(5);
|
||||
vslider4.setPaintLabels(true);
|
||||
vslider4.setPaintTicks(true);
|
||||
panel.add(vslider4);
|
||||
|
||||
vslider5 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
vslider5.setInverted(true);
|
||||
panel.add(vslider5);
|
||||
|
||||
vslider6 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
vslider6.setInverted(true);
|
||||
vslider6.setMajorTickSpacing(20);
|
||||
vslider6.setMinorTickSpacing(5);
|
||||
vslider6.setPaintTicks(true);
|
||||
panel.add(vslider6);
|
||||
|
||||
vslider7 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
vslider7.setInverted(true);
|
||||
vslider7.setMajorTickSpacing(20);
|
||||
vslider7.setMinorTickSpacing(5);
|
||||
vslider7.setPaintLabels(true);
|
||||
vslider7.setPaintTicks(true);
|
||||
panel.add(vslider7);
|
||||
|
||||
vslider8 = new JSlider(JSlider.VERTICAL, 0, 100, 35);
|
||||
vslider8.putClientProperty("JSlider.isFilled", Boolean.TRUE);
|
||||
vslider8.setInverted(true);
|
||||
vslider8.setMajorTickSpacing(20);
|
||||
vslider8.setMinorTickSpacing(5);
|
||||
vslider8.setPaintLabels(true);
|
||||
vslider8.setPaintTicks(true);
|
||||
panel.add(vslider8);
|
||||
return panel;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
if (e.getActionCommand().equals("CLOSE"))
|
||||
{
|
||||
System.exit(0);
|
||||
}
|
||||
else if (e.getActionCommand().equals("TOGGLE_ENABLED"))
|
||||
{
|
||||
boolean enabled = enabledCheckBox.isSelected();
|
||||
hslider1.setEnabled(enabled);
|
||||
hslider2.setEnabled(enabled);
|
||||
hslider3.setEnabled(enabled);
|
||||
hslider4.setEnabled(enabled);
|
||||
hslider5.setEnabled(enabled);
|
||||
hslider6.setEnabled(enabled);
|
||||
hslider7.setEnabled(enabled);
|
||||
hslider8.setEnabled(enabled);
|
||||
vslider1.setEnabled(enabled);
|
||||
vslider2.setEnabled(enabled);
|
||||
vslider3.setEnabled(enabled);
|
||||
vslider4.setEnabled(enabled);
|
||||
vslider5.setEnabled(enabled);
|
||||
vslider6.setEnabled(enabled);
|
||||
vslider7.setEnabled(enabled);
|
||||
vslider8.setEnabled(enabled);
|
||||
}
|
||||
}
|
||||
public static void main(String[] args)
|
||||
{
|
||||
SliderDemo app = new SliderDemo("Slider Demo");
|
||||
app.pack();
|
||||
app.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,488 @@
|
||||
/* TextFieldDemo.java -- An example showing various textfields in Swing.
|
||||
Copyright (C) 2005, Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath examples.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath 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 for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
02110-1301 USA.
|
||||
*/
|
||||
|
||||
|
||||
package gnu.classpath.examples.swing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.Box;
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.text.BadLocationException;
|
||||
import javax.swing.text.DefaultCaret;
|
||||
import javax.swing.text.JTextComponent;
|
||||
|
||||
/**
|
||||
* A simple textfield demo showing various textfields in different states.
|
||||
*/
|
||||
public class TextFieldDemo
|
||||
extends JFrame
|
||||
implements ActionListener
|
||||
{
|
||||
|
||||
/**
|
||||
* A custom caret for demonstration purposes. This class is inspired by the
|
||||
* CornerCaret from the OReilly Swing book.
|
||||
*
|
||||
* @author Roman Kennke (kennke@aicas.com)
|
||||
*/
|
||||
static class CornerCaret extends DefaultCaret
|
||||
{
|
||||
public CornerCaret()
|
||||
{
|
||||
super();
|
||||
setBlinkRate(500);
|
||||
}
|
||||
|
||||
protected synchronized void damage(Rectangle r)
|
||||
{
|
||||
if (r == null) return;
|
||||
x = r.x;
|
||||
y = r.y + (r.height * 4 / 5 - 3);
|
||||
width = 5;
|
||||
height = 5;
|
||||
repaint();
|
||||
}
|
||||
|
||||
public void paint(Graphics g)
|
||||
{
|
||||
JTextComponent comp = getComponent();
|
||||
if (comp == null) return;
|
||||
int dot = getDot();
|
||||
Rectangle r = null;
|
||||
try
|
||||
{
|
||||
r = comp.modelToView(dot);
|
||||
}
|
||||
catch (BadLocationException e)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (r == null) return;
|
||||
int dist = r.height * 4 / 5 - 3;
|
||||
if ((x != r.x) || (y != r.y + dist))
|
||||
{
|
||||
repaint();
|
||||
x = r.x;
|
||||
y = r.y + dist;
|
||||
width = 5;
|
||||
height = 5;
|
||||
}
|
||||
if (isVisible())
|
||||
{
|
||||
g.drawLine(r.x, r.y + dist, r.x, r.y + dist + 4);
|
||||
g.drawLine(r.x, r.y + dist + 4, r.x + 4, r.y + dist + 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The left aligned textfields and state buttons.
|
||||
*/
|
||||
JTextField textfield1;
|
||||
JTextField textfield2;
|
||||
JTextField textfield3;
|
||||
JCheckBox enabled1;
|
||||
JCheckBox editable1;
|
||||
JPanel textFieldPanel1;
|
||||
/**
|
||||
* The right aligned textfields and state buttons.
|
||||
*/
|
||||
JTextField textfield4;
|
||||
JTextField textfield5;
|
||||
JTextField textfield6;
|
||||
JCheckBox enabled2;
|
||||
JCheckBox editable2;
|
||||
|
||||
/**
|
||||
* The centered textfields and state buttons.
|
||||
*/
|
||||
JTextField textfield7;
|
||||
JTextField textfield8;
|
||||
JTextField textfield9;
|
||||
JCheckBox enabled3;
|
||||
JCheckBox editable3;
|
||||
|
||||
/**
|
||||
* The custom colored textfields and state buttons.
|
||||
*/
|
||||
JTextField textfield10;
|
||||
JTextField textfield11;
|
||||
JTextField textfield12;
|
||||
JTextField textfield13;
|
||||
JTextField textfield14;
|
||||
JCheckBox enabled4;
|
||||
JCheckBox editable4;
|
||||
|
||||
/**
|
||||
* Some miscallenous textfield demos.
|
||||
*/
|
||||
JTextField textfield15;
|
||||
JTextField textfield16;
|
||||
JCheckBox enabled5;
|
||||
JCheckBox editable5;
|
||||
|
||||
/**
|
||||
* Creates a new demo instance.
|
||||
*
|
||||
* @param title the frame title.
|
||||
*/
|
||||
public TextFieldDemo(String title)
|
||||
{
|
||||
super(title);
|
||||
JPanel content = createContent();
|
||||
JPanel closePanel = new JPanel();
|
||||
JButton closeButton = new JButton("Close");
|
||||
closeButton.setActionCommand("CLOSE");
|
||||
closeButton.addActionListener(this);
|
||||
closePanel.add(closeButton);
|
||||
content.add(closePanel, BorderLayout.SOUTH);
|
||||
getContentPane().add(content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a panel with the demo content. The panel
|
||||
* uses a BorderLayout(), and the BorderLayout.SOUTH area
|
||||
* is empty, to allow callers to add controls to the
|
||||
* bottom of the panel if they want to (a close button is
|
||||
* added if this demo is being run as a standalone demo).
|
||||
*/
|
||||
JPanel createContent()
|
||||
{
|
||||
JPanel content = new JPanel(new BorderLayout());
|
||||
JPanel panel = new JPanel(new GridLayout(5, 1));
|
||||
panel.add(createLeftAlignedPanel());
|
||||
panel.add(createRightAlignedPanel());
|
||||
panel.add(createCenteredPanel());
|
||||
panel.add(createCustomColoredPanel());
|
||||
panel.add(createMiscPanel());
|
||||
content.add(panel);
|
||||
//content.setPreferredSize(new Dimension(400, 300));
|
||||
return content;
|
||||
}
|
||||
|
||||
private JPanel createLeftAlignedPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
panel.setBorder(BorderFactory.createTitledBorder("Left aligned"));
|
||||
|
||||
textFieldPanel1 = new JPanel();
|
||||
textFieldPanel1.setLayout(new BoxLayout(textFieldPanel1, BoxLayout.X_AXIS));
|
||||
|
||||
textfield1 = new JTextField("Hello World!");
|
||||
textfield1.setHorizontalAlignment(JTextField.LEFT);
|
||||
textfield1.setFont(new Font("Dialog", Font.PLAIN, 8));
|
||||
textFieldPanel1.add(textfield1);
|
||||
|
||||
textfield2 = new JTextField("Hello World!");
|
||||
textfield2.setHorizontalAlignment(JTextField.LEFT);
|
||||
textfield2.setFont(new Font("Dialog", Font.ITALIC, 12));
|
||||
textFieldPanel1.add(textfield2);
|
||||
|
||||
textfield3 = new JTextField("Hello World!");
|
||||
textfield3.setHorizontalAlignment(JTextField.LEFT);
|
||||
textfield3.setFont(new Font("Dialog", Font.BOLD, 14));
|
||||
textFieldPanel1.add(textfield3);
|
||||
|
||||
panel.add(textFieldPanel1);
|
||||
|
||||
JPanel statePanel = new JPanel();
|
||||
statePanel.setLayout(new BoxLayout(statePanel, BoxLayout.Y_AXIS));
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
enabled1 = new JCheckBox("enabled");
|
||||
enabled1.setSelected(true);
|
||||
enabled1.addActionListener(this);
|
||||
enabled1.setActionCommand("ENABLED1");
|
||||
statePanel.add(enabled1);
|
||||
editable1 = new JCheckBox("editable");
|
||||
editable1.setSelected(true);
|
||||
editable1.addActionListener(this);
|
||||
editable1.setActionCommand("EDITABLE1");
|
||||
statePanel.add(editable1);
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
panel.add(statePanel, BorderLayout.EAST);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createRightAlignedPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
panel.setBorder(BorderFactory.createTitledBorder("Right aligned"));
|
||||
|
||||
JPanel textFieldPanel = new JPanel();
|
||||
textFieldPanel.setLayout(new BoxLayout(textFieldPanel, BoxLayout.X_AXIS));
|
||||
|
||||
textfield4 = new JTextField("Hello World!");
|
||||
textfield4.setHorizontalAlignment(JTextField.RIGHT);
|
||||
textfield4.setFont(new Font("Dialog", Font.PLAIN, 8));
|
||||
textFieldPanel.add(textfield4);
|
||||
|
||||
textfield5 = new JTextField("Hello World!");
|
||||
textfield5.setHorizontalAlignment(JTextField.RIGHT);
|
||||
textfield5.setFont(new Font("Dialog", Font.ITALIC, 12));
|
||||
textFieldPanel.add(textfield5);
|
||||
|
||||
textfield6 = new JTextField("Hello World!");
|
||||
textfield6.setHorizontalAlignment(JTextField.RIGHT);
|
||||
textfield6.setFont(new Font("Dialog", Font.BOLD, 14));
|
||||
textFieldPanel.add(textfield6);
|
||||
|
||||
panel.add(textFieldPanel);
|
||||
|
||||
JPanel statePanel = new JPanel();
|
||||
statePanel.setLayout(new BoxLayout(statePanel, BoxLayout.Y_AXIS));
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
enabled2 = new JCheckBox("enabled");
|
||||
enabled2.setSelected(true);
|
||||
enabled2.addActionListener(this);
|
||||
enabled2.setActionCommand("ENABLED2");
|
||||
statePanel.add(enabled2);
|
||||
editable2 = new JCheckBox("editable");
|
||||
editable2.setSelected(true);
|
||||
editable2.addActionListener(this);
|
||||
editable2.setActionCommand("EDITABLE2");
|
||||
statePanel.add(editable2);
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
panel.add(statePanel, BorderLayout.EAST);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createCenteredPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
panel.setBorder(BorderFactory.createTitledBorder("Centered"));
|
||||
|
||||
JPanel textFieldPanel = new JPanel();
|
||||
textFieldPanel.setLayout(new BoxLayout(textFieldPanel, BoxLayout.X_AXIS));
|
||||
|
||||
textfield7 = new JTextField("Hello World!");
|
||||
textfield7.setHorizontalAlignment(JTextField.CENTER);
|
||||
textfield7.setFont(new Font("Dialog", Font.PLAIN, 8));
|
||||
textFieldPanel.add(textfield7);
|
||||
|
||||
textfield8 = new JTextField("Hello World!");
|
||||
textfield8.setHorizontalAlignment(JTextField.CENTER);
|
||||
textfield8.setFont(new Font("Dialog", Font.ITALIC, 12));
|
||||
textFieldPanel.add(textfield8);
|
||||
|
||||
textfield9 = new JTextField("Hello World!");
|
||||
textfield9.setHorizontalAlignment(JTextField.CENTER);
|
||||
textfield9.setFont(new Font("Dialog", Font.BOLD, 14));
|
||||
textFieldPanel.add(textfield9);
|
||||
|
||||
panel.add(textFieldPanel);
|
||||
|
||||
JPanel statePanel = new JPanel();
|
||||
statePanel.setLayout(new BoxLayout(statePanel, BoxLayout.Y_AXIS));
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
enabled3 = new JCheckBox("enabled");
|
||||
enabled3.setSelected(true);
|
||||
enabled3.addActionListener(this);
|
||||
enabled3.setActionCommand("ENABLED3");
|
||||
statePanel.add(enabled3);
|
||||
editable3 = new JCheckBox("editable");
|
||||
editable3.setSelected(true);
|
||||
editable3.addActionListener(this);
|
||||
editable3.setActionCommand("EDITABLE3");
|
||||
statePanel.add(editable3);
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
panel.add(statePanel, BorderLayout.EAST);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createCustomColoredPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
|
||||
JPanel textFieldPanel = new JPanel();
|
||||
panel.setBorder(BorderFactory.createTitledBorder("Custom colors"));
|
||||
textFieldPanel.setLayout(new BoxLayout(textFieldPanel, BoxLayout.X_AXIS));
|
||||
|
||||
textfield10 = new JTextField("custom foreground");
|
||||
textfield10.setForeground(Color.GREEN);
|
||||
textFieldPanel.add(textfield10);
|
||||
|
||||
textfield11 = new JTextField("custom background");
|
||||
textfield11.setForeground(Color.YELLOW);
|
||||
textFieldPanel.add(textfield11);
|
||||
|
||||
textfield12 = new JTextField("custom disabled textcolor");
|
||||
textfield12.setDisabledTextColor(Color.BLUE);
|
||||
textFieldPanel.add(textfield12);
|
||||
|
||||
textfield13 = new JTextField("custom selected text color");
|
||||
textfield13.setSelectedTextColor(Color.RED);
|
||||
textFieldPanel.add(textfield13);
|
||||
|
||||
textfield14 = new JTextField("custom selection color");
|
||||
textfield14.setSelectionColor(Color.CYAN);
|
||||
textFieldPanel.add(textfield14);
|
||||
|
||||
panel.add(textFieldPanel);
|
||||
|
||||
JPanel statePanel = new JPanel();
|
||||
statePanel.setLayout(new BoxLayout(statePanel, BoxLayout.Y_AXIS));
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
enabled4 = new JCheckBox("enabled");
|
||||
enabled4.setSelected(true);
|
||||
enabled4.addActionListener(this);
|
||||
enabled4.setActionCommand("ENABLED4");
|
||||
statePanel.add(enabled4);
|
||||
editable4 = new JCheckBox("editable");
|
||||
editable4.setSelected(true);
|
||||
editable4.addActionListener(this);
|
||||
editable4.setActionCommand("EDITABLE4");
|
||||
statePanel.add(editable4);
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
panel.add(statePanel, BorderLayout.EAST);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JPanel createMiscPanel()
|
||||
{
|
||||
JPanel panel = new JPanel(new BorderLayout());
|
||||
panel.setBorder(BorderFactory.createTitledBorder("Miscallenous"));
|
||||
|
||||
JPanel textFieldPanel = new JPanel();
|
||||
textFieldPanel.setLayout(new BoxLayout(textFieldPanel, BoxLayout.X_AXIS));
|
||||
|
||||
textfield15 = new JTextField("Custom Caret");
|
||||
textfield15.setCaret(new CornerCaret());
|
||||
textFieldPanel.add(textfield15);
|
||||
|
||||
textfield16 = new JTextField("Custom Caret color");
|
||||
textfield16.setCaretColor(Color.MAGENTA);
|
||||
textFieldPanel.add(textfield16);
|
||||
|
||||
panel.add(textFieldPanel);
|
||||
|
||||
JPanel statePanel = new JPanel();
|
||||
statePanel.setLayout(new BoxLayout(statePanel, BoxLayout.Y_AXIS));
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
enabled5 = new JCheckBox("enabled");
|
||||
enabled5.setSelected(true);
|
||||
enabled5.addActionListener(this);
|
||||
enabled5.setActionCommand("ENABLED5");
|
||||
statePanel.add(enabled5);
|
||||
editable5 = new JCheckBox("editable");
|
||||
editable5.setSelected(true);
|
||||
editable5.addActionListener(this);
|
||||
editable5.setActionCommand("EDITABLE5");
|
||||
statePanel.add(editable5);
|
||||
statePanel.add(Box.createVerticalGlue());
|
||||
panel.add(statePanel, BorderLayout.EAST);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent e)
|
||||
{
|
||||
if (e.getActionCommand().equals("CLOSE"))
|
||||
{
|
||||
System.exit(0);
|
||||
}
|
||||
else if (e.getActionCommand().equals("ENABLED1"))
|
||||
{
|
||||
boolean enabled = enabled1.isSelected();
|
||||
textfield1.setEnabled(enabled);
|
||||
textfield2.setEnabled(enabled);
|
||||
textfield3.setEnabled(enabled);
|
||||
}
|
||||
else if (e.getActionCommand().equals("EDITABLE1"))
|
||||
{
|
||||
boolean editable = editable1.isSelected();
|
||||
textfield1.setEditable(editable);
|
||||
textfield2.setEditable(editable);
|
||||
textfield3.setEditable(editable);
|
||||
}
|
||||
else if (e.getActionCommand().equals("ENABLED2"))
|
||||
{
|
||||
boolean enabled = enabled2.isSelected();
|
||||
textfield4.setEnabled(enabled);
|
||||
textfield5.setEnabled(enabled);
|
||||
textfield6.setEnabled(enabled);
|
||||
}
|
||||
else if (e.getActionCommand().equals("EDITABLE2"))
|
||||
{
|
||||
boolean editable = editable2.isSelected();
|
||||
textfield4.setEditable(editable);
|
||||
textfield5.setEditable(editable);
|
||||
textfield6.setEditable(editable);
|
||||
}
|
||||
else if (e.getActionCommand().equals("ENABLED3"))
|
||||
{
|
||||
boolean enabled = enabled3.isSelected();
|
||||
textfield7.setEnabled(enabled);
|
||||
textfield8.setEnabled(enabled);
|
||||
textfield9.setEnabled(enabled);
|
||||
}
|
||||
else if (e.getActionCommand().equals("EDITABLE3"))
|
||||
{
|
||||
boolean editable = editable3.isSelected();
|
||||
textfield7.setEditable(editable);
|
||||
textfield8.setEditable(editable);
|
||||
textfield9.setEditable(editable);
|
||||
}
|
||||
else if (e.getActionCommand().equals("ENABLED4"))
|
||||
{
|
||||
boolean enabled = enabled4.isSelected();
|
||||
textfield10.setEnabled(enabled);
|
||||
textfield11.setEnabled(enabled);
|
||||
textfield12.setEnabled(enabled);
|
||||
textfield13.setEnabled(enabled);
|
||||
textfield14.setEnabled(enabled);
|
||||
}
|
||||
else if (e.getActionCommand().equals("EDITABLE4"))
|
||||
{
|
||||
boolean editable = editable4.isSelected();
|
||||
textfield10.setEditable(editable);
|
||||
textfield11.setEditable(editable);
|
||||
textfield12.setEditable(editable);
|
||||
textfield13.setEditable(editable);
|
||||
textfield14.setEditable(editable);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
TextFieldDemo app = new TextFieldDemo("TextField Demo");
|
||||
app.pack();
|
||||
app.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user