• 締切済み

ダイアログ

今、テキストエディタを作ろうと試みております。(プログラムは、はじめたばかりで、まだままなりませんが。) メニューをフレームに付け、そのサブメニューのひとつをクリックすると、ダイアログを作って表示するメソッドを作り、それを呼び出して表示するようにしました。そのダイアログが閉じるボタンから閉じられません。 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent ev) { System.exit(0); } }); これをダイアログを作るメソッドの中に書いたら、閉じられると思ったんですが、できませんでした。何か、他のところに問題があるのでしょうか? わかりにくい質問になってしまいすみません。

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • akr
  • ベストアンサー率18% (32/173)
回答No.1

「できませんでした」とありますが、実際どうなったんですか? このソースを見るとSystem.exit(0)とあるので、アプリケーション自体が終了してると思うんですが...

関連するQ&A

  • ウィンドウが閉じられる直前の処理

    addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); private void exitForm(java.awt.event.WindowEvent evt) { if (ある状態だった時) { return; } System.exit(0); } 上記ソースの様にある状態だった時にウィンドウを閉じない様に したいと思っています。returnをすれば、大丈夫かと思ったら、 綺麗にウィンドウが閉じてしまいました。 どのようにすれば実現出来ますでしょうか?お願いします。

    • ベストアンサー
    • Java
  • Windowを閉じるときの処理の構造

     Java初心者です。  JavaのGUIプログラムでウインドウを閉じるときの処理で、解説書・解説サイトでは以下のようなサンプルをよく見かけますが、構造が複雑すぎてよく理解できません。 //インスタンス化とか色々省略 JFrame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.exit(0); } });  特に、WindowAdapter(){~}の部分は、解説書を一通り探しても、文法事項として見つからないのですが、これはどういった文法なのでしょうか?  よろしくお願いします。

  • これを正確に実行したいのですが

    再びすみません。 下のプログラムなのですが。コンパイルはできるのに 図が表示されず、終わらず、実行がおかしなことになってしまいます。どこを直したらいいのでしょうか? お願い致します。 import java.awt import java.awt.event.*; class gazou extends Frame { public gazou(){ setSize(300,200); addWindowListener(new WindowAdapter( ) public void windowClosing(WindowEvent e) System.exit(0); } }); } public void paint(Graphics g) g.drawRect(40,40,50,50); g.drawRoundRect(100,40,50,50,10,10); g.drawOval(160,40,50,50); g.drawArc(220,40,50,50,45,270); g.fillRect(40,100,50,50); g.fillRoundRect(100,100,50,50,10,10); g.fillOval(160,100,50,50); g.fillArc(220,100,50,50,45,270); g.drawLine(40,180,260,180); } } public class kadai19{ public static void main(String[] args) { Frame w = new Frame(); w.show( ); } }

    • ベストアンサー
    • Java
  • 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
  • JAVA イベント処理について

    ボタンをクリックすれば表示されている色が変わるというプログラムを作っています。 それで、パネルを作ってそこにボタンを4つくっつけているのですが、 Panel p=new Panel(); for(i=0;i<N;i++) p.add(bn[i]); p.setBackground(Color.orange); add(p,"South"); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0);} }); } 上のような感じでsouth=下にボタンが横に4つならんで表示されるようになっているのですが、 ボタンを縦に並べたいのですがプログラムがわかりません。 分かる方教えてください。お願いします。

  • AWTでウィンドウを閉じる仕組み

    import java.awt.*; import java.awt.event.*; class WindowClose extends WindowAdapter{ public void windowClosing(WindowEvent we){ System.exit(0); } } class Figure extends Frame{ public Figure(String name){ setTitle(name); setLocation(300,200); setSize(300,200); setBackground(Color.ORANGE); WindowClose wc = new WindowClose(); addWindowListener(wc); } } public class Test{ public static void main(String [] args){ Figure figure = new Figure("Frame1"); figure.show(); } } 初歩的なことな質問で申し訳ないです。 このような処理でウィンドウを閉じているのですが、具体的に何を取得してどんな動作をしているのかがよくわかりません。 wcというインスタンスにウィンドウリスナーのオブジェクトが追加登録されるという感じだと思いますが、extends されているWindowAdapterクラスにはすでにウィンドウリスナーのインスタンスが実装されていますよね。一体何の意味があるのでしょうか。

    • ベストアンサー
    • Java
  • handleEvent() が非推奨

    handleEvent() をコンパイラが非推奨だと言います。 警告の出ないソースにするにはどうしたらいいんですか? たぶん、 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } }); のようなソースを使えばいいんだと思うけど、 どのように組み込むのかが分かりません。 import java.awt.*; public class Test extends java.applet.Applet { Frame f = new MyFrame(""); public void init() { f.setSize(100, 100); f.show(); } public boolean handleEvent(Event e) { if(e.id == Event.WINDOW_DESTROY) f.dispose(); return super.handleEvent(e); } }

    • ベストアンサー
    • 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の初心者です。  "Public JFramelTest(){"の箇所で"メソッドの戻りの型がありません"とエラーがでます。  しかし実行はできるので、実行するとダイヤログは表示されますが、タイトルバーのみしか、表示されません。  サイズを大きくすると文字はかけていますが、タイトルバーには"JFrame Test"の文字は有りません。  一体どこが悪いのでしょうか宜しくお願いします。 ============================================================================= //JFrameTest:Swingのフレーム import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JFrameTest extends JFrame{ /* コンストラクタ */ public JFramelTest(){ setSize(800,400); //画面サイズ setTitle("JFrame Test"); //タイトル //×ボタンで終了 addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } //paint public void paint(Graphics g){ super.paint(g); //JFrameクラスのpaintの呼出し g.drawString("JAVA",80,100); } //main public static void main(String[] args) { JFrame w = new JFrameTest(); w.show(); } }

    • ベストアンサー
    • Java
  • Javaのエラーなのですが

    import java.awt.*; import java.awt.event.*; class PrefFrame extends Frame { public PrefFrame(String title) { //フレームのタイトル setTitle(title); //ウィンドウを閉じる時 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } } public class PrefTest { public static void main(String args[]) { PrefFrame frm = new PrefFrame("都道府県マスター"); frm.setLocation(300, 200); frm.setSize(250, 350); frm.setBackground(Color.LIGHT_GRAY); frm.setVisible(true); } } と入力しました。コンパイルは出来て、CLASSファイルは作成できたのですが、実行できずにエラーException in thread "main" java.lang.NoClassDefFoundError: PrefTest/javaとなってしまいます。実行するためにはどうしたらよいのでしょうか?