- 締切済み
別クラスから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)); } } こんな感じでやろうとしてみたのですが、できません。 どうすればいいか教えてください!!お願いします。。。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- freedom560
- ベストアンサー率46% (80/173)
「メインのクラスとは別のクラスでボタンなどを表示させたい」という要件だけなら、いらないものを省いてこうすればできます。 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)); } } }
お礼
ありがとうございました!! 参考にがんばってみます!!