Problemas para cerrar una ventana

problemas
16 de Diciembre del 2004
No se como cerrar una ventana cuando le das a un boton como por ejemplo cancelar o aceptar. Si ponemos de evento System.exit(0); se cierra la aplicacion por completo y System.runFinalization(); me da error. Tab he intentado no hacerla visible setVisible(flase); pero la ventana si se ve aunque el contenido no. Yo lo que quiero es cerrarla a ver si alguien me dice como hacerlo.
El codigo es este:
import javax.swing.*;
import java.*;
import java.awt.Rectangle;
import java.awt.event.*;
import java.awt.Color;


public class borrar extends JPanel {
JLabel jLabel1 = new JLabel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
public borrar() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
borrar borrar1 = new borrar();
}
private void jbInit() throws Exception {

setLayout(null);
jLabel1.setFont(new java.awt.Font("Dialog", 1, 13));
jLabel1.setText("¿Desea borrar la referencia de este archivo?");
jLabel1.setBounds(30,20,300,20);

//jLabel1.setBounds(new Rectangle(48, 29, 289, 28));

//jButton1.setBounds(new Rectangle(82, 71, 94, 28));
jButton1.setFont(new java.awt.Font("Dialog", 1, 13));
jButton1.setForeground(Color.white);
jButton1.setText("Aceptar");
jButton1.setBackground(new Color(201, 55, 69));
jButton1.setBounds(60,60,100,30);

//jButton2.setBounds(new Rectangle(209, 71, 94, 28));
jButton2.setBackground(new Color(201, 55, 69));
jButton2.setBounds(200,60,100,30);
jButton2.setFont(new java.awt.Font("Dialog", 1, 13));
jButton2.setForeground(Color.white);
jButton2.setText("Cancelar");
jButton2.addActionListener(new borrar_jButton2_actionAdapter(this));
this.setBackground(new Color(214, 255, 255));
this.add(jLabel1, null);
this.add(jButton1, null);
this.add(jButton2, null);
}

void jButton2_actionPerformed(ActionEvent e) {
setVisible(false);

}

}

class borrar_jButton2_actionAdapter implements java.awt.event.ActionListener {
borrar adaptee;

borrar_jButton2_actionAdapter(borrar adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}

Carmen
16 de Diciembre del 2004
Hola! prueba a poner :
public void BotonactionPerformed(ActionEvent e) {
ventana.hide();
}
ventana es la ventana que tu quieres cerrar. A ver si te funciona.

Rigel
16 de Diciembre del 2004
Hola:

Bueno el método hide(); ya se deprecó, existe otro método que se llama dispose(). sin embargo lo que yo hago es eliminar el objeto de la ventana y tornarlo no visible, esto como parte de evitar el cerrar con exit, ya que termina toda la aplicación.

Pruea cualquiera de las 2 formas:

public void BotonactionPerformed(ActionEvent e) {
ventana.dispose();
}


public void BotonactionPerformed(ActionEvent e) {
ventana.setVisible(false);
ventana = null;

}

Saludos y Suerte