Problema Swing Telas Somem

public class JanelaPrincipal extends JFrame {

private static final long serialVersionUID = 1L;
private static volatile JanelaPrincipal istance;
private JPanel painel;
private JButton btSalas;
private JButton btEventos;
private JButton btAlocacoes;
private JButton btSair;
private JPanel painelBt;
private JButton btMaterial;

private JanelaPrincipal() {

	try {
		UIManager.setLookAndFeel(new AluminiumLookAndFeel());
		ImageIcon icone = new ImageIcon(getClass().getResource("/images/iconeapp.png"));
		this.setIconImage(icone.getImage());
	} catch (UnsupportedLookAndFeelException e) {
		e.printStackTrace();
	}

	this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	this.setSize(590, 437);
	this.setResizable(false);
	this.setLocationRelativeTo(null);
	this.setLayout(null);
	componentes();
	setVisible(true);
}

public static synchronized JanelaPrincipal getInstace() {
	if (istance == null) {
		istance = new JanelaPrincipal();
		return istance;
	} else {

		return istance;
	}
}

public void componentes() {
	painel = new JPanel();
	painel.setBounds(0, 0, 590, 480);
	painel.setLayout(null);

	GridLayout grid = new GridLayout(5
			, 1, 20, 20);
	painelBt = new JPanel(grid);
	painelBt.setBounds(10, 30, 150, 340);
	painel.add(painelBt);

	JLabel labelImage = new JLabel();
	labelImage.setIcon(new ImageIcon(getClass().getResource(
			"/images/logo.png")));
	labelImage.setBounds(200, 80, 328, 200);
	painel.add(labelImage);

	btEventos = new JButton("Eventos");
	btEventos.setIcon(new ImageIcon(getClass().getResource(
			"/images/calendar.png")));
	painelBt.add(btEventos);

	btSalas = new JButton("Salas");
	btSalas.setIcon(new ImageIcon(getClass()
			.getResource("/images/casa.png")));
	painelBt.add(btSalas);
	
	btMaterial = new JButton("Materiais");
	btMaterial.setIcon(new ImageIcon(getClass().getResource(
			"/images/material.png")));
	painelBt.add(btMaterial);
	btAlocacoes = new JButton("Aloca√ß√Ķes");
	btAlocacoes.setIcon(new ImageIcon(getClass().getResource(
			"/images/alocacao.png")));
	painelBt.add(btAlocacoes);

	btSair = new JButton("Sair");
	btSair.setIcon(new ImageIcon(getClass().getResource("/images/sair.png")));
	painelBt.add(btSair);

	this.add(painel);

	Ouvinte ouvinte = new Ouvinte();
	btAlocacoes.addActionListener(ouvinte);
	btEventos.addActionListener(ouvinte);
	btSair.addActionListener(ouvinte);
	btSalas.addActionListener(ouvinte);
	btMaterial.addActionListener(ouvinte);
}
public class Ouvinte implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent e) {

		if (e.getSource().equals(btAlocacoes)) {
			setVisible(false);
			JanelaAlocacao.getInstace();
		} else if (e.getSource().equals(btEventos)) {
			setVisible(false);
			JanelaEvento.getInstace();
		
		} else if (e.getSource().equals(btSalas)) {
			setVisible(false);
			JanelaSala.getInstace();
		
		}else if(e.getSource().equals(btMaterial)){
			setVisible(false);
			JanelaMaterial.getInstace();
			
		} else if (e.getSource().equals(btSair)) {
			System.exit(0);

		}
	}
}

public static void main(String[] args) {
	JanelaPrincipal.getInstace();
}

}

Lá nos seus if no actionPerformed, tira os else. Não precisa de else nestes casos…
E ce t√° dando setVisible(false). Acho que a tela some se isso for false e.e
Tenta colocar true e.e

1 curtida