Hola:
Estás declarando JButton registrar dos veces, una como atributo de la clase y otra como variable local del método. Quizás venga por ahí el problema. no declares por segunda vez la variable local, hazlo así
Código:
public class paginaRegistro extends JDialog
{
JButton registrar;
...
public paginaRegistro
{
...
// Quita el JButton de delante....
/*JButton*/ registrar = new JButton ("registrar");
registrar.addActionListener (....);
}
}
El addActionListener es el método adecuado. Para ocultar la ventana mejor setVisible(false) que dispose(). Eso sí, procura no volver a hacer más new de paginaRegistro y reutilizar la que tienes oculta haciendo setVisible(true).
Se bueno.