みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

別クラスからTextFieldなどを加える方法

メインのクラスとは別のクラスでボタンなどを表示させたいのですが、方法がわかりません。
一応

import java.awt.*;
import java.awt.event.*;

class Test extends Frame{
private Image offImage; //仮想画面
private Graphics gv; // 仮想画面Graphicsオブジェクト
private SubClass SC; //サブクラス

public Test(){
setTitle("Test");
setSize(400,300);
setVisible(true);

//仮想画面の生成
offImage = createImage(400,300);
gv = offImage.getGraphics();

//閉じる
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});

//サブクラス生成
SC = new SubClass(this);

myDraw();
}

public static void main(String args[]){
Frame f = new Test();
}

public void myDraw(){
gv.drawString("仮想画面を使って表示しています。",100,100);
}

public void paint(Graphics g){
//仮想画面を表示
g.drawImage(offImage,0,0,this);
}

public void update(Graphics g){}
}

class SubClass{
Test T;

public SubClass(Test t){
T = t;
T.add(new TextField(10));
}
}

こんな感じでやろうとしてみたのですが、できません。
どうすればいいか教えてください!!お願いします。。。

投稿日時 - 2006-07-02 10:48:20

QNo.2250566

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

「メインのクラスとは別のクラスでボタンなどを表示させたい」という要件だけなら、いらないものを省いてこうすればできます。

TextFieldを加えた後でsetSize(400,300);setVisible(true);を行うのがポイントでしょうか。

import java.awt.*;
import java.awt.event.*;

class Test extends Frame{
private SubClass SC; //サブクラス

public Test(){
setTitle("Test");

//閉じる
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});

//サブクラス生成
SC = new SubClass(this);

setSize(400,300);
setVisible(true);
}

public static void main(String args[]){
Frame f = new Test();
}

class SubClass{
Test T;

public SubClass(Test t){
T = t;
T.add(new TextField("TextField.",10));
}
}
}

投稿日時 - 2006-07-02 12:05:02

お礼

ありがとうございました!!
参考にがんばってみます!!

投稿日時 - 2006-07-06 15:03:42

あなたにオススメの質問