変色日記 チャット?
注意
ほん日記は多くの間違いを含んでいる可能性があります。
詳しくは00を見てください。
間違いや分かり難いとう御座いました時にはご指摘などをしていただける
嬉しいです。
GUI環境のインターフェイスを整える
前節で紹介したとおり、
HORBを用いて簡単なチャットソフトを作ります。
今回はHORBと離れて、JAVAアプリの部分を用いて表示部分を
作成していきます。
参考WisdomSoft
SWING
今でJAVAを用いてAppletを作ったことは何度かありましたが、すべてAWTを用いていました。
私がまじめに作成したのはTAのアルバイトのときのみでした、
当時、私の学校の実習室(?)ではJAVA 1.1までしか入っていなかったため。
それ以降に生まれたSWINGをも用いてアプレット作成の作成は出来ても利用することが出来なかったのです。
私がTA離れた頃から授業でJAVAが頻繁に用いられるようになり、現在では最新版が利用できるようになりました。
さてさて、今回が初めてのSWINGの経験とりました。
アルバイトで使用していたAWTとはぜんぜん違う印象です。何が?と思われる方のため、
私の感じたことを紹介したいのですが残念ながら時間がないので割合します。
(このまま、本サイトの内容も割合してしまわないように努力しますが...)
注意
- 直接コンポーネントを追加できない getContentPane()を用いContainerを得てから追加
- 画面は背景色で初期化され猫とはない。
- System.exit()を用いなくてもfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);とすれば良い
- repaint()、revalidate()、invalidate() invokeLater()
- Jコンポーネントはpaintではなくて、paintComponent(Graphics g)を用いる
何か書く
取り合えず枠組みだけ
↑は何も意味していませんが、取り合えずウインドウを表示してみる。
通信部分を書く
チャットとはいうものの2台のコンピューターを想定したものをまず書くことにする。
ようはクライアントとサーバーの両方を持たせて、Messageクラスをお互いにやり取りすると
いったものです。難しくはないはずです。
クライアントとサーバー
まずは、おさらいから、
まず始めにオブジェクトの送信を行うプログラムを書く
こんな感じて
クライアントは(Messanger)はComm_Proxyを通してMessageクラスをサーバー(horb)に渡します。
コピー渡し
”destination.receiveMessage(message)”の部分は
はProxyを通しているので、参照渡しではないことに注意する。
参照渡しではないことを確認するプログラムを書く
こんな感じで
(サーバー側は Gameと返しますが、クライアント側はLoveと返します。)
生成モデル
そして、現在扱ったのは生成モデルであることに注意する。
MessangerごとにCommを作成しています
(@ITの中の連載
が解りやすいです)
接続モデル
すでにサーバーで生成されたオブジェクトにアクセスする。
参考にしたサイト
WisdoSoft入門本が不必要になりそうなほどのデーター量。圧巻です
HORB 日本語のサイト
@ITの中の連載