重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

メインとなる画面にボタンを作り、ボタンを押すと別のウィンドウが開くようなプログラムを作成したいのですがどうしたらいいのでしょうか? 
新しい画面が開かれているときは、メインの画面をクリックしてもそちらは操作出来ないようにしたいのです。

何を使ったらいいかなど詳しく教えてください。
宜しくお願いします!!

A 回答 (2件)

#1です。




>ボタンを押すと別のウィンドウが開く

●「ボタンを押した」というイベントを拾う方法

 1.ボタンの設定(最初の画面にボタンを貼り付けるタイミングでいいでしょう)

   ・アクションリスナーをボタンに登録
    btn.addActionListener( ..... );

   ・機能名を登録(任意です。定数として定義しておくといいでしょう)
    btn.setActionCommand("OpenWindow");

 2.「ボタンが押された」というイベントを受ける

   ・イベントを受けるクラスに、ActionListenerをインプリメントする。
   ・public void actionPerformed(ActionEvent ae) を追加する。


 *JAVAでイベントを拾うには、対象のオブジェクトにイベントリスナーを登録する方法
  をとります(キーイベント、マウスイベント他)。
  覚えてしまいましょう。


     <例>

     public class TestClass
           extends JFrame
           implements ActionListener
     {
        public static final String CMD_OPEN_WINDOW = "OpenWindow";

        private JButton btn = new JButton("click!!");


        /** コンストラクタ
         */
        public TestClass(){

          btn.addActionListener(this);
          btn.setActionCommand(CMD_OPEN_WINDOW);

          getContentPane().add(btn);

        }


        /**アクションリスナー
         */
        public void actionPerformed(ActionEvent ae){

          Strign cmd = ae.getActionCommand();

          if(cmd.equals(CMD_OPEN_WINDOW){
            //ここにボタンが押された時の処理を記述します
          }

        }


●別のウインドウを開く

 JDialogをモーダルで作ればいいと思います。

 ・コンストラクタに親Frameを渡して、オブジェクトを生成
 ・画面を整える(やり方はJFrameと同じです)
 ・表示する(これもJFrameと同じでshow()メソッドを使います)
    • good
    • 0

補足要求です。



1.まず、AWTなのか、SWINGなのかを明確にして下さい。

2.どこがわからないのか、もっと明確にして下さい。

  ・メインとなる画面に
  ・ボタンを作り、
  ・ボタンを押すと
  ・別のウィンドウが開く

 あなたの質問には、この4つの処理が含まれています。
 どこがわからないのでしょうか?

この回答への補足

すみません、言葉が足りなかったですね。

まず、SWINGで作ろうと思っています。
後、わからないのは2で言うと、「ボタンを押すと別のウィンドウが開く」のところです。
宜しくお願いします。

補足日時:2004/11/02 10:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!