ダイアログボックスの出し方

このQ&Aのポイント
  • Javaの初心者のためのダイアログボックスの出し方を解説します
  • Java入門のサンプルコードを実行した際にPCが停止する現象の原因について解説します
  • ユーザークラスとは何かについて説明します
回答を見る
  • ベストアンサー

ダイアログボックスの出し方

Javaを勉強中の初心者なのですが、 ダイアログボックスの出し方を教えて頂きたいのです。 Java入門にサンプルがあったので、その通り入力し実行したところPCが止まっちゃいました。なぜでしょうか? それと下のサンプルの中に書いてある ユーザークラスとは何でしょうか? よろしくお願いいたします。 ーーーサンプルソースーーー import java.awt.*; public class myDialog extends Dialog{ public myDialog(Frame parent){ super(parent,"My Dialog",true); } public void init(String s){ setSize(300,150); setVisible(true); } } 作成したユーザークラスを呼び出すには次のようにします。 myDialog d; d=new myDialog(new Frame()); d.init("ウェイトの合計が100になっていません!!");

noname#767
noname#767
  • Java
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • sueoka
  • ベストアンサー率38% (24/62)
回答No.1

こんにちわ PCが止まった・・・と言うことは、メモリが足りないのかなあ。 開発環境を教えていただけると、調査方法もわかるかもしれません。 どういったソフトでJavaのソフトを作成し、実行しているのか。 コンソール画面(真っ黒のウィンドウ)が出て、 そこに何やらメッセージがずらずらと出てたりしませんか? とりあえず、Javaの入門教室のようなページがありましたので、 参考にしてみてください。 それと、「ユーザークラス」についてですが、 これは「ユーザー(が作成した)クラス」と言うことです。 上記の例ですと、「myDialog」と言う名前のクラスは 始めからは用意されていません。 始めから用意されている「Dialog」と言う名前のクラスを ベースにして作成されたオリジナルのクラスです。 これを「継承」と呼んで・・・と説明は出来ますが、 まずは用意されている部品(クラス)だけを使って Javaを覚えてみましょう。 僕のお勧めの本は「独習Java」です。 頑張ってください。

参考URL:
http://www.netjoy.ne.jp/~tuya/JavaTutor/
noname#767
質問者

お礼

お返事頂きありがとうございました。 何とかできました。 これからも日々精進いたします。 それとこれからは 使用環境とソフト名を書くようにします。

関連するQ&A

  • ダイアログボックスの出し方其の二

    ダイアログボックスの出し方でお聞きした者です。 今回InputBoxも作ろうと思っているのですが、 これがなかなか思うようにいきません! やりたい事 1.「入力してください」のメッセーが一番上に出る。 2.テキストボックスがでる。 3.OKボタンとCancelボタンがでる。 4.Okを押すとテキストに入力した値が 他のテキストに貼り付けられる。 3までは出来ているみたいなのですが、 4が出来ません! そこで、お願いです。 何方か分かる方おられましたら宜しくお願いいたします。 うぅ~~800文字以上??? ↓↓↓ユーザークラス↓↓↓ myDialog d; d=new myDialog(new Frame()); d.init("入力してください!"); ↑↑↑ユーザークラス↑↑↑ ↓↓↓ソース↓↓↓ public class myDialog extends Dialog{ Label msg; public myDialog(Frame parent){ super(parent,"My Dialog",true); //add("Center",msg=new Label("")); Panel p=new Panel(); //パネル設定 p.setLayout(new GridLayout(1,2)); //パネルの作成 TextField tf; //テキストフィールドの設定 add(tf=new TextField("",20)); //テキストフィールドの作成 tf.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ TextField t=(TextField) e.getSource(); //msg.setText(t.getText()); } }); ーーーここで、ボタンOK Cancelの設定ーーー public void init(String s){ msg.setText(s); setSize(300,150); setVisible(true); } } ↑↑↑ソース↑↑↑

    • ベストアンサー
    • Java
  • return;

    retrun;を取ると動作がおかしくなるんですが return;にはどういう働きがあるんでしょうか? お願いします。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; //<applet code = "a.class" width = "300" height = "300"></applet> public class a extends Applet implements ActionListener{ Dialog d; Frame f; public void init() { setLayout( new GridLayout( 1, 1 ) ); Button b = ( Button )add( new Button( "frame" ) ); b.addActionListener( this ); } public void actionPerformed( ActionEvent e ){ if( e.getActionCommand() == "frame" ){ if ( f == null ){ f = new Frame( "Kitty on your lap" ); Button fb = (Button)f.add( new Button( "Kitty " ) ); fb.addActionListener( this ); f.setSize( 200 , 200 ); f.setVisible( true ); }else if( d == null ){ f.dispose(); f = null; } return; } if( e.getActionCommand() == "OK" ) { d.dispose(); d = null; return; } d = new Dialog( f, "Kitty", true ); d.setLayout( new GridLayout( 2, 1 ) ); d.setResizable( false ); d.add( new Label( "Kitty on your lap" ) ); Button b = (Button)d.add( new Button( "OK" ) ); b.addActionListener( this ); d.setSize( 400 , 200 ); d.setVisible( true ); } }

    • ベストアンサー
    • Java
  • JAVA DialogのModalの設定について

    DialogのModalの設定変更で悩んでいます。 以下にサンプルソース(文字数制限のため、不要部分を大幅カットしています)を記します。 このサンプルは、はじめModalをfalseに設定したDialogを表示し、親Frame上の"Change Modal"を押すと5秒間DialogのModalがtrueに変わり、親Frameへのアクセスをガードします。その後、Modalを再度falseに切り替え、はじめの状態へ戻すことを目的とするものなのですが、最後の処理がうまくいきません(親Frameへのアクセスがガードされっぱなしになってしまう)。 何がいけないのでしょうか? [sample] class Modal_Test_Sample extends Frame implements Runnable, ActionListener { Dialog test_dialog; Thread thread, owner_thread; Button modal_change; Modal_Test_Sample() { super("test_frame"); modal_change = new Button("model_change"); modal_change.addActionListener(this); add(modal_change) pack(); test_dialog = new Dialog(this,"test_dialog",false); test_dialog.show(); } public void actionPerformed(ActionEvent ae) { owner_thread = Thread.currentThread(); thread = new Thread(this); thread.start(); test_dialog.setModal(true); test_dialog.setVisible(false); test_dialog.setVisible(true); test_dialog.setModal(false); test_dialog.setVisible(false); test_dialog.setVisible(true); } public void run() { try { thread.sleep(5000); } catch(Exception e) { } owner_thread.interrupt(); } public static void main(String args[]) { (new Modal_Test_Sample()).show(); } }

    • ベストアンサー
    • Java
  • フレームを表示できないのですが・・・

    こんにちは。ジャバ初心者です。下記のプログラムを javac Sample120.java と入力してコンパイルはできたのですが java Sample120 と入力すると Exception in thread "main" java.lang.NoClassDefFoundError: Sample120 というメッセージが出て実行できないのですがどのようにすればいいですか? import java.awt.*; import java.awt.event.*; class Sample120 extends Frame { public static void main(String args[]) { Sample120 app = new Sample120(); } public Sample120() { setSize(250,100); setVisible(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void paint(Graphics g) { g.drawString("Hello Java AWT!",10,60); } }

    • ベストアンサー
    • Java
  • java アプレットでエラー

    以下のサンプルソースをEclipse上で実行したら "アプレットは初期化されていません"というエラーになってしまいました。 //フレームウィンドウの表示/非表示を切り替える。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Sample129 extends Applet implements ActionListener { Button bt; frame fr; public void init() { bt = new Button("ウィンドウ表示"); add(bt); bt.addActionListener(this); fr = new frame("操作対象ウィンドウ"); fr.setSize(250,120); } public void actionPerformed(ActionEvent event) { //ウインドウを表示 fr.setVisible(true); } } class frame extends Frame { frame(String title) { super(title); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { //ウインドウを非表示 setVisible(false); } }); } public void paint(Graphics g) { g.drawString("閉じるボタンで非表示",65,65); } } ■エラー内容 java.lang.NoSuchMethodError: frame: method <init>(Ljava/lang/String;)V not found at Sample129.init(Sample129.java:17) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) どうすればこのエラーが解消できるのでしょうか。

  • java初心者です

    空のウィンドウを作ってみたものの ウィンドウが閉じれません。ファイル名はMyApp3.javaです。クラスファイルは3つちゃんとできてます import java.awt.*; import java.awt.event.*; class MyFrame extends Frame { public MyFrame(){ addWindowListener(new MyWindowAdapter()); } class MyWindowAdapter extends WindowAdapter { public void WindowClosing(WindowEvent e){ System.exit(0); } } } public class MyApp3 { public static void main(String[] args){ MyFrame f =new MyFrame(); f.setSize(300,200); f.setVisible(true); } }

    • ベストアンサー
    • Java
  • ボタンとダイアログの関連性

    import java.awt.*; import java.awt.event.*; public class ActionListenerTest extends Frame implements ActionListener { ActionListenerTest() { super("ActionListenerTest"); Button b1 = new Button("BUTTON"); b1.addActionListener(this); add(b1); setSize(200, 100); setVisible(true); } public void actionPerformed(ActionEvent evt) { String ac = evt.getActionCommand(); if( ac == "BUTTON") { /*ここでの操作でダイアログを表示させたい*/ } } public static void main(String [] args) { new ActionListenerTest(); } } 表示されたフレーム内のボタンを押したときに、ダイアログを表示させたいです。コメントアウトした部分でダイアログを表示させたいのですが、ダイアログの定義はActionListenerTest() 内にて行うのでしょうか? またダイアログ内でボタンを作り、そのボタンの操作を行うときは、フレームでのボタンと同様にString ac = evt.getActionCommand(); ---でいいのでしょうか? どなたかご教授願います。 汚いプログラムすいません。

    • ベストアンサー
    • Java
  • 【Java】モーダルDLG内でリストを表示

    Javaを学習し始めて間もない初心者です。よろしくお願いします。 ======================================== 開発環境:Eclipse SDK(Version: 3.5.0) 開発言語:Java ======================================== にて、プログラムを作成しています。 メインDLGの中に配置したボタンを押下したタイミングで、 モーダルDLGを開き、そのDLG内にリストを表示させたいのですが、 参考サイトなどを見ながら、とりあえずモーダルDLGは表示されましたが、 リストが表示されません。 下記に作成ソースを記載しますので、解決法をご存知の方おられましたら、 どこが悪く、どう修正すれば良いかについて、ご教示お願い致します。 なお、当方学習中の身ですので、より良いコードを書くために、 その他の指摘などももしあれば幸いです。 【ソースコード】 import javax.swing.*; import java.awt.BorderLayout; import java.awt.Dialog; import java.awt.Frame; import java.awt.event.*; import java.awt.*; public class TestList extends JFrame implements ActionListener{ Dialog dlg; Frame frm; public static void main(String[] args){ TestList frame = new TestList(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 400, 100); frame.setTitle("リスト表示"); frame.setVisible(true); } TestList(){ { // リスト表示ボタンを追加 JButton btn = new JButton("リストDLGを表示"); btn.addActionListener(this); JPanel p2 = new JPanel(); p2.add(btn); getContentPane().add(p2, BorderLayout.CENTER); } } // ボタン押下イベントを取得する関数 public void actionPerformed(ActionEvent e){ // リスト表示ボタンが押下された時 if (frm == null) { frm = new Frame("リスト"); frm.setSize(200 , 200); frm.setVisible(true); String list_n[] = {"テスト1", "テスト2", "テスト3", "テスト4", "テスト5"}; JList list = new JList(list_n); dlg = new Dialog(frm, "リスト" , true); JScrollPane sp = new JScrollPane(); sp.getViewport().setView(list); sp.setPreferredSize(new Dimension(200, 80)); JPanel p = new JPanel(); p.add(sp); dlg.add(p, BorderLayout.CENTER); } } }

    • ベストアンサー
    • Java
  • JAVAプログラムをWEB表示させるには・・・

    import java.awt.*; import javax.swing.*; class Test { public static void main(String args[]) { Frame frm = new Frame("テスト"); frm.setLayout(null); frm.setSize(new Dimension(450,550)); frm.setVisible(true); JFormattedTextField[] array = new JFormattedTextField[45]; for(int i = 0 ;i < array.length ; i++){ array[i] = new JFormattedTextField (); frm.add(array[i]); array[i].setSize(65, 22); array[i].setLocation(121+(i%3)*66, 130+(i/3)*22); } } } フレームにいくつかのテキストを入れただけの簡単なプログラムなのですが、これをJSPでWEB表示させたいのですが・・・・なかなかうまくいかなく困ってます。色々サイトを見ているのですが、解説だとわかりにくく、サンプルコードを載せてるところを探しているのですが、それも見つかりません。JAVAプログラムをJSPでWEB表示させるには、どのような方法があるのか教えていただけないでしょうか?よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaでウィンドウ作成について

    下記のJavaのプログラムについて質問です。 ウィンドウを表示するプログラムで、本に書いてあるのを参考にしました。 しかしウィンドウを表示されません。 どうしたらウィンドウを表示できるようになりますか?。 ちなみにコメントアウトしている部分を有効にするとウィンドウが表示されます。 開発環境はEclipse3.4で、Eclipse3.4から実行しています。 もう一点、コメントアウトしているsuper()を有効にすると Eclipse3.4から下記のエラーがでます。 本に書いてある通りにしているつもりですが、これについても教えて下さい。 ”コンストラクター呼び出しは、コンストラクター内の最初のステートメントである必要があります” 以上、よろしくお願いします。 ackage test; import java.awt.Frame; public class P155 extends Frame{ public void P155(){ //super(); this.setSize(300,200); this.setVisible(true); } public static void main(String[] args) { new P155(); // Frame f= new Frame(); // f.setSize(300,200); // f.setVisible(true); } }

    • ベストアンサー
    • Java

専門家に質問してみよう