Botao abre outra classe

estou com problema para o botao do programa abrir outra classe
para isso eu teria que traalha como listener?? existe outra forma de fazer isso???

valeu!!!

Sim, mas você pode tratar os eventos de uma GUI de diversas maneiras. Quando eu trabalho com swing gosto de implementar interfaces nas classes para tratar os eventos chamando métodos que fazem a ação específica, no seu caso, chamar o construtor de outra classe. Vou postar um exemplo simples, mas o ideal é você dar uma estudada em Listeners e bolar a melhor forma:
1° uma classe simples que é o formulario que vai ser chamado

import javax.swing.*;
public class Frame1 extends JFrame{
	public Frame1(){
		super("New Frame1!");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setSize(200,200);
		setVisible(true);
	}
}

2° a classe que vai chamar a primeira

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Frame2 extends JFrame implements ActionListener{
	private JButton myBtn;
	public Frame2(){
		setSize(300,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		myBtn = new JButton("Nova Frame1");
		myBtn.addActionListener(this); // aqui eu adicionei o Listener ao botão
		getContentPane().setLayout(new FlowLayout());
		getContentPane().add(myBtn);
		setVisible(true);
	}
	private void openFrame1(){ // este é o método de trabalho
		new Frame1();
	}
	public void actionPerformed(ActionEvent ae){ // aqui é a implementação do ActionPerformed
		if (ae.getSource() == myBtn) // se o botão clicado foi o myBtn...
			openFrame1();
	}
	public static void main(String[]args){
		new Frame2();
	}
}

Espero ter ajudado!