- 締切済み
appletの同時実行について
今appletで適当なアニメーションをeclipse上で作っています。 そこで質問です。 「inu」というクラスと「neko」というクラスがあり それぞれ個別ならば、appletで動かせるのですが 二つをそれぞれ別のウインドウで動かそうとしたいのですが 以下の方法では出来ませんでした。 方法 適当に「animal」クラスを作成し(これは普通のappletではないクラス) その中のmain()の中で それぞれinu,nekoのクラスをnewしてから それぞれinu.init() neko.init()をしました。 しかしアプリケーションとしてしか動きません。 それぞれのクラスを一斉に各ウインドウでappletとして動かすには いい手はあるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- _ranco_
- ベストアンサー率58% (126/214)
> 「addする」という意味がよくわかりませんでした; animal、いやAnimalがjava.awt.Appletならadd(new Inu())やadd(new Neko());です。Animalがjavax.swing.JAppletなら、getContentPane().add(new Inu());などです。add == 加える、という意味です。元々は、java.awt.Containerのメソッドです。 > 呼び出すのはinit()でよろしいのでしょうか? InuやNekoを動かすために必要なメソッドをすべて、正しい順で呼び出してください。 それは、 dog.init(); dog.start(); かもしれない。
- _ranco_
- ベストアンサー率58% (126/214)
animalをアプレットとして書き、アプレットとして使います。 inuとnekoはそれぞれnew()し、適当なレイアウトで、animalにadd()してください。それらのinit()は呼ばれませんから、必要な初期化処理はコンストラクタ:public inu(), public neko()の中でやるか、animalの中でそれらのiniti()を呼んでやってください。
- OKapple
- ベストアンサー率56% (17/30)
アプレットはmainクラスから起動するものではなく、ブラウザ(またはアプレットビューワー等)からinitメソッドをコールされて起動するものです。 animalクラスからアプレットのinitメソッドを呼べば、animalクラスがアプレットビューワの役目をしようとするので、animalクラスのアプリケーションとしてしか動きません。 jdkに付属しているアプレットビューワからそれぞれのクラスを呼び出せば、それぞれ独立して動作します。 もしくは、アプレットを呼び出すhtmlを作成し、ブラウザで表示させることで動作します。
補足
よろしければお願いします;; 一応ブラウザからinu,nekoのクラスを二つ同時に呼び出すのは できそうなのですが、ひとつのanimalクラスの中から 二つを呼び出せる方法があるかを調べてます。 やっても確かにアプリケーションビューワとしてしか動きません。。 animalクラスからやる方法は無さそうでしょうか?
補足
少しわからない部分がありましたので質問させてください。 animalにadd()するとは実際どういったコードをかけばいいのでしょうか? 「addする」という意味がよくわかりませんでした;; また、呼び出すのはinit()でよろしいのでしょうか? public void init(){ inu dog = new inu(); neko cat = new neko(); //add()はよくわかりません; this.add(dog); this.add(cat); } 以上のようにして コンストラクタを作ってやりましたが・・・ アプリケーションとしてしか呼び出せませんでした。