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