2011-03-12 21 views
9

私はボタンが動作していない閉じ、ウィンドウを閉じていたとき、私は、AWTでsamllのaplicationを作成していますが、その閉じるボタンが機能していないされた後、私は、クローズボタンの機能を追加した...awtでウィンドウを閉じるには?

import java.awt.*; 
import java.applet.*; 
import java.awt.event.*; 
import javax.swing.*; 
class ButtonDemo1 implements ActionListener 

{ 
Button b1; 
TextField tf; 
Frame f; 
ButtonDemo1(String s) 
{ 
    f=new Frame(s); 
    b1=new Button("OK"); 

    tf=new TextField(10); 
    f.setSize(200,250); 
    f.setVisible(true); 
    b1.addActionListener(this); 

    f.add(tf); 
    f.add(b1); 

    f.addWindowListener(new WindowAdapter(){ 
      public void windowClosing(WindowEvent we) 
     { 
       System.exit(0); 
      } 
     }); 

    f.setLayout(new FlowLayout()); 
} 

public void actionPerformed(ActionEvent e) 
{ 
    if(e.getSource()==b1) 
    { 
     tf.setText("Press Ok"); 
    } 

} 
public static void main(String args[]) 
{ 
    new ButtonDemo1("First"); 
} 


} 

クローズボタンが機能しないのはなぜですか?

+1

てみてくださいを使用することをお勧めしますfを入れる.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);あなたのプログラムで。 – u449355

+1

@Umesh、あなたのコメントを回答にして、担当者に投票させてください。結局のところ、これは正解です。 – krock

+5

@krock:そうですか?彼はJFrameを使用していないので、その方法は彼のフレームに利用できませんが? –

答えて

8

あなたはこのようにそれを行うことができます:

f.addWindowListener(new WindowAdapter(){ 
    public void windowClosing(WindowEvent we){ 
    System.exit(0); 
    } 
}); 
+0

これは文字通りタイトルに対する答えですが、彼の質問体にはすでにこのコードが入っています。私は彼のSystem.exit(0)が期待どおりに動作していないと考えている(おそらく私が持っている問題と同じ問題で、答えを探している)。 – Kit10

3

はこのようにそれをやって試してみてください。

class ExampleClass implements ActionListener, WindowListener 
{ 

... 

f.addWindowListener(this); 

... 

public void windowDeactivated(WindowEvent e) {} 
public void windowDeiconified(WindowEvent e) {} 
public void windowIconified(WindowEvent e) {} 
public void windowOpened(WindowEvent e) {} 
public void windowActivated(WindowEvent e) {} 
public void windowClosed(WindowEvent e) {} 

public void windowClosing(WindowEvent e) 
{ 
    System.exit(0); 
} 

} 
関連する問題