GO HOME

「Javaステップアップブック AWT」追補情報


※ここは、拙著のJava中級解説書「Javaステップアップブック」シリーズの「AWT」編(毎日コミュニケーションズ、240頁、1800円)に関す るコーナーです。現在、初版の見直し作業をしていますが、校正情報やよくある質問の答えなどをここでまとめて掲載します。



 ★バグ・校正情報★

※ここでは、ソースコードや内容に関する記述間違い、校正ミスなどについて整理しておきます。



※P.29 表示するクラス定義 部分

見ればおわかりと思いますが、ブロックを閉じる}記号が抜けています。クラス定義の末尾に}記号を補って考えて下さい。


※P.44 サンプルリスト

一行目の「import java.applet.*;」が削除されてしまっています。この一文を補ってお考えください。



※P.51 サンプルリスト

「import java.util.*;」と、actionPerformedの「repaint();」は、使っていないので不要です。削除し忘れていたようです。 あっても別に問題はありませんが、特に意味はないので消しても結構です。


※P.59 サンプルリスト

コンストラクタ内でsetBoundsしていないため、実行環境によっては大きさがゼロのウインドウになってしまいます。setBoundsを補ってお考 えください。




※もし、他に間違いが見つかりましたら、どうか御連絡下さいませ。



 ★追補情報★

※ここでは、本書の内容を補うための追加情報などをまとめる予定です。



※2-7 アプレットとアプリケーションを兼用する

ここでは、わかりやすいようにクラスを3つに分けて説明しましたが、単純に「アプレットをアプリケーションとして起動し動かす」というだけならば、1つの クラスだけですむ方法があります。java.applet.AppletクラスはPanelを継承したものですので、これをそのままFrameなどに組み 込んで動かすことも可能なのです。従って、Applet継承クラスの中にmainメソッドを置き、その中でFrameを作ってApplet自身を組み込む ようにすれば、アプリケーションとして実行できるアプレットクラスを作れます。

public class SampleApplet extends Applet {

public static void main(String[] args) {
Frame f = new Frame();
SampleApplet a = new SampleApplet();
a.init();
f.add(a,BorderLayout.CENTER);
f.show();
}

public void init() {
・・・初期化処理・・・
}
}


 例えば、このような形です。メニューを組み込んだりといった複雑なものになると面倒ですが、単純に「アプレットをFrameに入れて動かす」というだけ なら、これで十分使えます。


※3-9 左ボタンか右ボタンかで処理を分ける(2)

ここではサンプルリスト内で右ボタンのチェックをMouseEvent.BUTTON2_MASKを使ってチェックしています。が、これは環境によっては BUTTON3_MASKを指定しないと右ボタンの確認ができないことがわかっています。もし利用している環境でBUTTON2_MASKでうまく右ボタ ンを認識しない場合は、BUTTON3_MASKを使ってみて下さい。


※3-15 フォーカスを受け取れないコンポーネントでフォーカスを受け取れるようにする

ここではisFocusTraversable()を使っていますが、このメソッドはver. 1.4より非推奨となり、新たに用意された「isFocusable()」を利用するようにとなっています。従って、ver. 1.4以降でisFocusTraversable()を利用したい場合はisFocusable()を利用するようにしてください。




 ★FAQコーナー★

※ここでは、本書の内容についての質問にお答えします。読んでいて不明な点などありましたら、どうぞ掌田津耶乃までお問い合わせください。その場合は、必ずお使いのOSとJDKの バージョンについて明記ください。


●本書は、入門書ではないのですか。具体的にどういう内容のものですか?

答え)・・なんて質問が来たわけではないですが(笑)、本書がどういうものかイメージしにくいと思うので、簡単に紹介を。――本書は、Java のさまざまな機能の具体的な実装例をTips的にまとめたものです。プログラミングというのは、基本文法とライブラリの働きがわかればできるというもので はありません。それらが頭に入っていても、具体的に「これこれこういうことをさせたい」というときに、そのためのコードがぱっと出てくるわけではないもの です。それには、さまざまな具体的な実装例を見て、コードを読んで、語彙を増やしていくしかありません。そこで、もっとも基本的なものから比較的多用され る応用例までさまざまな機能の実装方法をまとめたものとして本書を企画したわけです。
 この種の本は、今までもあることはありましたが、たいていは「総ページ数600ページ、4000円」なんて代物で、ビギナーがおいそれと買えるものじゃ ありませんでした。また、そこまで無理矢理膨らませたためか、基礎的な「そんなん、もう知ってるよ」という超ビギナーな事柄までくどくど書いてあったりし て、実際に役立つページは全体の半分ぐらいだったりしました。――そこで、ジャンルごとに分冊し、自分が必要と思う部分だけを気軽に買えるようなテクニッ ク集を作ろう、と思ったわけです。

 AWT編では、AWTの基礎的な部分(基本的なコンポーネントの使い方、イベント実装の基本など)から、その汎用性の高い応用例(各種ダイア ログのクラスの作成、アプレットとアプリケーションの兼用、オフスクリーンを使った画面表示、など)、更には入門書では見られないテクニック例(イメージ の保存、フォーカスやアクションのイベント未対応のコンポーネントでイベント対応させる方法、画面のキャプチャー法、イメージの簡単なフィルター処理な ど)といったものをまとめてあります。――なお、これはあくまでAWTのみで、Swing関係はありません。(Swing編は近日中に出す予定です)



GO BACK
GO HOME