- 締切済み
アプリケーション
初歩的な質問ですが下のプログラムを書いたのですが表示されませんでした。下のプログラムのどこが間違ってますか? これが問題です。 ・フレームに部品を配置するプログラムを作成しなさい。 BorderLayoutによりボタン1,テキストエリア,ボタン2が配置 ボタン1をクリックするとテキストエリアに文字を埋める ボタン2をクリックするとテキストエリアをクリアする import java.awt.*; import java.awt.event.*; class MyFrame extends Frame implements ActionListener { TextArea txtar1; Button btn1, btn2; public MyFrame(String title) { super(title) ; // タイトル設定 addWindowListener(new WindowAdapter(){// 閉じるボタン対応 public void windowClosing(WindowEvent e){ System.exit(0); } }); } public void init(){ setLayout(new BorderLayout(5,5)); // 文字列表示のボタンをBorderLayoutの北に配置 btn1=new Button("文字列表示"); add(btn1,BorderLayout.NORTH); txtar1 = new TextArea(); add(txtar1,BorderLayout.CENTER);// テキストエリアをBorderLayoutの中央に配置 btn2=new Button("文字列クリア"); add(btn2,BorderLayout.SOUTH); // 文字列クリアのボタンをBorderLayoutの南に配置 } public void actionPerformed (ActionEvent e) { // ボタン押下対応 if (e.getSource() == btn1) { txtar1.setText("AAAAAAAAAA\nBBBBBBBBBB\nCCCCCCCCCC\n"); } else if (e.getSource() == btn2) { txtar1.setText(""); } } } public class JaFram { public static void main(String args[]) { MyFrame frm = new MyFrame("フレームテスト"); frm.setSize(300, 200); // 窓サイズを横300,縦200にする frm.setVisible(true) ; // フレームを表示する } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Yanch
- ベストアンサー率50% (114/225)
MyFrame#init()メソッドを処理が通ってないように見えます。 JaFram#main()から、呼び出すと良いでしょう。 こんな風に。 public class JaFram { public static void main(String args[]) { MyFrame frm = new MyFrame("フレームテスト"); frm.setSize(300, 200); // 窓サイズを横300,縦200にする frm.init(); frm.setVisible(true) ; // フレームを表示する } }
お礼
ありがとうございました