Que tal, pues mira lo unico que tienes que hacer es darle un evento a tu boton que quieres que sea pulsado, y que al momento de que sea pulsado, cree una instancia de tu nueva clase, por elemplo
/***************************Esta seria tu clase 1******************************/
package ventanas;
import java.awt.*;
import java.awt.event
.*;
import javax.swing.*;
public class ventana1 extends JFrame implements ActionListener{
JButton boton;
public ventana1(){
setLayout(null);
boton = new JButton("Ir");
boton.setBound
s(75, 50, 50, 50);
boton.addActio
nListener(this);
add(boton);
setSize(200,200);
setTitle("Ventana 1");
setDefaultClos
eOperation(JFrame.EXIT_ON
_CLOSE);
setVisible(true);
}
public void actionPerforme
d(ActionEvent e) {
Object pulsar = e.getSource();
if(pulsar.equals(boton))
{
new ventana2();
//this.dispose();
//Con la linea de arriba se cierra tu primer ventana
}
}
public static void main(String[] args){
new ventana1();
}
}
/******************************************************************************/
/*******************************Esta seria tu clase 2*******************************/
package ventanas;
import java.awt.*;
import javax.swing.*;
public class ventana2 extends JFrame{
JLabel etiqueta;
public ventana2(){
setLayout(null);
etiqueta = new JLabel("Esta es la Ventana 2");
etiqueta.setBo
unds(40, 50, 150, 20);
add(etiqueta);
setSize(200,200);
setTitle("Ventana 2");
setDefaultClos
eOperation(JFrame.EXIT_ON
_CLOSE);
setVisible(true);
}
}
/*********************************************************************************/
Solo copia, pega, compila y ejecuta y ya esta

Con ese ejemplo creo que queda mas que concluido este tema, si tienes mas dudas, favor de postearlas saludos
