2011-03-12 101 views
9

Estoy creando una aplicacion habiente en AWT, cuando estoy cerrando la ventana, el cierre de botón no está funcionando, pero he añadido la funcionalidad del botón de cierre, después de que el botón de cierre no está funcionando ...¿Cómo cerrar la ventana en 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"); 
} 


} 

¿Por qué el botón de cierre no funciona?

+1

Try poniendo f .setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); en tu programa. – u449355

+1

@ Umesh, por favor haga una respuesta a su comentario para que podamos votar por usted. Después de todo, esta es la respuesta correcta. – krock

+5

@krock: ¿Lo es? A pesar de que no está utilizando un JFrame y ese método no está disponible para su marco? –

Respuesta

8

Se podía hacerlo de esta manera:

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

Si bien esta es literalmente la respuesta a su título, su cuerpo de preguntas ya tiene este código. Creo que su System.exit (0) no está actuando como se esperaba (posiblemente el mismo problema que estoy teniendo, y estoy buscando la respuesta). – Kit10

3

trata de hacerlo de esta manera:

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); 
} 

} 
Cuestiones relacionadas