| <!-- | |
| Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved. | |
| DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
| This code is free software; you can redistribute it and/or modify it | |
| under the terms of the GNU General Public License version 2 only, as | |
| published by the Free Software Foundation. Oracle designates this | |
| particular file as subject to the "Classpath" exception as provided | |
| by Oracle in the LICENSE file that accompanied this code. | |
| This code is distributed in the hope that it will be useful, but WITHOUT | |
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| version 2 for more details (a copy is included in the LICENSE file that | |
| accompanied this code). | |
| You should have received a copy of the GNU General Public License version | |
| 2 along with this work; if not, write to the Free Software Foundation, | |
| Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
| Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
| or visit www.oracle.com if you need additional information or have any | |
| questions. | |
| --> | |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> | |
| <!--This file created 7/22/1999 11:47 by Claris Home Page version 2.0--> | |
| <HTML> | |
| <HEAD> | |
| <TITLE>Package java.awt.im.spi Description</TITLE> | |
| <META NAME=GENERATOR CONTENT="Claris Home Page 2.0"> | |
| <X-SAS-WINDOW TOP=51 BOTTOM=592 LEFT=171 RIGHT=701> | |
| </HEAD> | |
| <BODY BGCOLOR="#FFFFFF"> | |
| <P>Provides interfaces that enable the development of input methods | |
| that can be used with any Java runtime environment. Input methods are | |
| software components that let the user enter text in ways other than | |
| simple typing on a keyboard. They are commonly used to enter | |
| Japanese, Chinese, or Korean - languages using thousands of different | |
| characters - on keyboards with far fewer keys. However, this package | |
| also allows the development of input methods for other languages and | |
| the use of entirely different input mechanisms, such as handwriting | |
| recognition.</P> | |
| <H2><A NAME="package_specification"></A>Package Specification</H2> | |
| <UL> | |
| <LI><B><A HREF="../../../../../technotes/guides/imf/spec.html">Input Method | |
| Framework Specification</A></B> | |
| <LI><B><A HREF="../../../../../technotes/guides/imf/spi-reference.html">Input | |
| Method Engine SPI Reference</A></B> | |
| </UL> | |
| <H4><A NAME="Packaging"></A>Packaging Input Methods</H4> | |
| <P>Input methods are packaged as installed extensions, as specified | |
| by the <A HREF="../../../../../technotes/guides/extensions/index.html">Extension | |
| Mechanism</A>. The main JAR file of an input method must contain the | |
| file:</P> | |
| <PRE> META-INF/services/java.awt.im.spi.InputMethodDescriptor</PRE> | |
| <P>The file should contain a list of fully-qualified class names, one | |
| per line, of classes implementing the | |
| <CODE>java.awt.im.spi.InputMethodDescriptor</CODE> interface. Space | |
| and tab characters surrounding each name, as well as blank lines, are | |
| ignored. The comment character is <CODE>'#'</CODE> | |
| (<CODE>\u0023</CODE>); on each line all characters following the | |
| first comment character are ignored. The file must be encoded in | |
| UTF-8.</P> | |
| <P>For example, if the fully-qualified name of the class that | |
| implements <CODE>java.awt.im.spi.InputMethodDesciptor</CODE> for the | |
| <EM>Foo</EM> input method is | |
| <CODE>com.sun.ime.FooInputMethodDescriptor</CODE>, the file | |
| <CODE>META-INF/services/java.awt.im.spi.InputMethodDescriptor</CODE> | |
| contains a line:</P> | |
| <PRE> com.sun.ime.FooInputMethodDescriptor</PRE> | |
| <P>The input method must also provide at least two classes: one class | |
| implementing the <CODE>java.awt.im.spi.InputMethodDescriptor</CODE> | |
| interface, one class implementing the | |
| <CODE>java.awt.im.spi.InputMethod</CODE> interface. The input method | |
| should separate the implementations for these interfaces, so that | |
| loading of the class implementing <CODE>InputMethod</CODE> can be | |
| deferred until actually needed.</P> | |
| <H4><A NAME="Loading"></A>Loading Input Methods</H4> | |
| <P>The input method framework will usually defer loading of input | |
| method classes until they are absolutely needed. It loads only the | |
| <CODE>InputMethodDescriptor</CODE> implementations during AWT | |
| initialization. It loads an <CODE>InputMethod</CODE> implementation | |
| when the input method has been selected.</P> | |
| <H4><A NAME="PeeredComponents"></A>Java Input Methods and Peered Text | |
| Components</H4> | |
| <P>The Java input method framework intends to support all | |
| combinations of input methods (host input methods and Java input | |
| methods) and components (peered and lightweight). However, because of | |
| limitations in the underlying platform, it may not always be possible | |
| to enable the communication between Java input methods and peered AWT | |
| components. Support for this specific combination is therefore | |
| platform dependent. In Sun's Java SE Runtime Environments, this | |
| combination is supported on Windows, but not on Solaris.</P> | |
| <H2>Related Documentation</H2> | |
| <P>For overviews, tutorials, examples, guides, and tool | |
| documentation, please see:</P> | |
| <UL> | |
| <LI><B><A HREF="../../../../../technotes/guides/imf/overview.html">Input | |
| Method Framework Overview</A></B> | |
| <LI><B><A HREF="../../../../../technotes/guides/imf/spi-tutorial.html">Input | |
| Method Engine SPI Tutorial</A></B> | |
| </UL> | |
| @since JDK1.3 | |
| </BODY> | |
| </HTML> |