私は今までSmalltalkで、MailBrowserやWWWBrowser (SmallWalker) といった多くのアプリケーションを開発してきました。今回、これらのアプリ ケーションをJavaに移植しようとしたのですが、AWT、特にTextComponentがあ まりにも貧弱なため、私のアプリケーションを移植するに足る十分な機能を持っ たWidgetクラス群を開発しようと決めました。
KFC (Kazuki YASUMATSU's Foundation Classes) と呼ぶ、私のWidgetクラス群は、以下のコンポーネントをサポートしています。
全てのコンポーネントは、100%ピュアJavaで記述されたlightweightコンポー ネントであり、AWTコンポーネントと互換性があります。また、多くの拡張さ れたAPIを持ちます。
互換性に関しては、TeikadeのAWTをKFCに入れ換えて使用していますが、特に 問題はありません。
KFCのTextComponentおよびそのサブクラス(TextArea, TextField)は、KFCの中 で最も強化された部分であり、以下のような機能があります。
KFCのTextComponentとそのサブクラスは、ワードプロセッサーやHTMLビュー ア/エディタを開発するのに十分な能力を持っています。
TextComponentは現実的なアプリケーションを開発するために、最も基本的か つ重要なコンポーネントです。特にUNIX系のプラットフォームでは、 TextComponentが貧弱なため、Javaでアプリケーションを開発しても、実際に はWindows系のプラットフォームでしか実用的には使えない、などの問題が起 こります。JavaのWrite Once/Run Anywhere の精神を活かすためにも、100%ピュアJavaで現実的なTextComponentを実装す るのは重要なことです。
このKFCリリースには、jarファイル(kfc.jar)、そのソースコード (src.zip)、およびAPIドキュメントが含まれています。
KFCはJDK1.1以降で動作すると思います。しかしながら、JDK 1.1.4以前では、 lightweightコンポーネントの取り扱いに関するバグがあるので、JDK 1.1.5以 降を使用することを強くお勧めします。
また、KFCはJava2(JDK1.2)でも動作します。
それでは、kfc.jarとexamplesディレクトリをCLASSPATH に追加して、以下のサンプルプログラムをお楽しみ下さい。
java Notepad (Notepadサンプル) java Javapad (Javapadサンプル) java Stylepad (Stylepadサンプル) java Webpad (Webpadサンプル) java Webpad README.html (KFCのReadme) java Webpad READMEJ.html (KFCの日本語版Readme)
setenv CLASSPATH /kfcdir/kfc.jar:/kfcdir/examples もしくは、 export CLASSPATH; CLASSPATH=/kfcdir/kfc.jar:/kfcdir/examples
set CLASSPATH=C:\kfcdir\kfc.jar;C:\kfcdir\examples
java -DproxySet=true -DproxyHost=your.proxy.host -DproxyPort=8080 // your proxy port -Dhttp.nonProxyHosts="*.your.local.net" Webpad
Copyright (c) 1997, 1998, 1999 Kazuki YASUMATSU. All Rights Reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee or royalty is hereby granted, provided that both the above copyright notice and this permission notice appear in all copies of the software and documentation or portions thereof, including modifications, that you make. THIS SOFTWARE IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE OR DOCUMENTATION.
Copyright (c) 1997, 1998, 1999 Kazuki YASUMATSU. All Rights Reserved.
Kazuki.Yasumatsu@fujixerox.co.jp
(Quick Response)
kyasu@asahi-net.email.ne.jp
(Sloow Response)
http://openlab.ring.gr.jp/kyasu/