メイン フレームを閉じながら、stage2 という名前の新しいフレームを開こうとしています。しかし、そこに main.setVisible(false) を配置すると、囲んでいるクラスではなく、メインフレームによって呼び出された jpanel クラスにこのリスナーを配置しました。このように見えるので..
class main extends JFrame()
{
main()
{
}
add(story2)
}
class story2 extends JPanel()
{
public void mouseClicked(MouseEvent e)
{
new stage2();
main.this.setVisible(false);
}
}