- - PR -
アプレット(JAPPLET)で他クラスから直接描画について
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-22 11:51
はじめまして、よろしくお願いします。
さて、今回質問させていただきたいのは、JAppletで作成されたアプレットから他クラス(他ファイル)を作成し、そのクラスからアプレットの領域にボタン等のコンポーネントを作成したいのです。 既知問題かもしれませんが、探しきれませんでした。ここを参照せよ!でも結構ですのでよろしくお願いします。 | ||||||||
|
投稿日時: 2004-06-22 12:37
別クラスを作成するとき、JAppletの参照を渡しておけばよいのでは。
たとえば、
ってな感じで。 | ||||||||
|
投稿日時: 2004-06-22 13:06
返信感謝します。
当方、JAVAは初めて2週間というとんでもない初心者なのです。一応は書籍、ホームページ等を参照はしているのですが、悪戦苦闘の日々です。Cはある程度の知識はあるつもりなので(あくまでもつもりです…)仰っていることもニュアンスとしては分かるのですが。 現在、別クラスを作成するときに HogeStart hogeStart = new HogeStart(this); と記述しています。 で呼ばれる側は public class HogeStart extends HogeMain { //HogeMainは親 としているのですが…。 HogeMainクラスでは getContentPane() 後に JPanel を作成し、そこに背景画像を表示しています。やりたいことはこの JPanel の上にボタン、ラベルを配置したいのです。ただ、配置するのは別クラスで、ということなのです。 …配置する方法ってどうすればいいのでしょうか??基本的なことが曖昧になってきました… | ||||||||
|
投稿日時: 2004-06-22 14:12
まずは、以下を一通り読んでもらって、
http://www.atmarkit.co.jp/fjava/index/index_javaent.html #@ITではサーバーサイドがメインで、クライアント側の入門記事がないのね。
継承しちゃだめです。意味がありません。 変数でもって、それでアクセスしてください。 たぶん、やりたいことは何となくわかるけど、コードが思いつかないってところでしょうか? でしたら、BorlandのJBuilder Xなどの統合環境で、画面を部品のペタリで制作可能な物を使って、 そのコードを見るという方法もありますよ。特に、画面周りでは有用です。 | ||||||||
|
投稿日時: 2004-06-22 17:06
有益な情報ありがとうございます。
この変数でもって、とは如何に?Appletを引き渡すということでしょうか??
そうです、やりたいことは何気にわかるんだけど、それに対してのアプローチ方法が分からないのです。まぁこの何気ってところも漠然としてるのですが。 で、BorlandのJBuilder トライアル版を早速ダウンロードして試してみたのですが、やり方がまずいのか何なのか、さっぱしなのです。(ソースを記載したほうがよろしいのでしょうか?) よろしければ、 ・その別クラスの呼び出し方法 ・別クラスにて呼び出し元アプレットへのボタン等の設置方法 を教えていただけないでしょうか? | ||||||||
|
投稿日時: 2004-06-22 17:51
のthisをHogeStartクラスでどうしてますか? thisをクラス変数で持っていれば、その変数を介して、thisのクラスの パブリックメンバにアクセスできます。 配置方法は以下のページを見てください http://www.techscore.com/tech/Java/UI/4.html
どう、さっぱりなのか説明していただけないと、何とも言えませんが。 とりあえず いきなりアプレットを作るのではなく、Javaアプリケーションを作った方がいいでしょう。 アプレットは、ブラウザとのやりとりなど、余分な物が付くので。 そこで、まずは何もないもの作り、保存。その後、パネルを追加して、 何もないときと何が違うかを確認するといいでしょう。 ソースの変更履歴で、差分が見られますので確認するとよいでしょう。 | ||||||||
|
投稿日時: 2004-06-22 18:06
コンストラクタ時にクラス内で宣言したApplet型の変数にセットしています。 この変数で何かをするんだろうなぁ〜と漠然と思っていたのですが。 現在、強制的に HogeMain 内の JPanel を static public で宣言し、HogeStart で HogeMain.hogePanel.add(hogeLbl, null); applet.repaint(); としたところ、表示はできたのですが、如何せん static public をしてしまっているところが、悲しいところです。 #急がば回れ、アプリケーションでやってみます! | ||||||||
|
投稿日時: 2004-06-23 13:21
やっとできました。
振り返ってみれば、至極単純でした。 Cのポインタの概念でずっと考えてしまっていたため、JAVAの特性である参照渡しのことを理解していませんでした。 かずくん様、soluna様、お手数をおかけしました。 ありがとうございました。 | ||||||||
1
