Bom dia galera, estou tentando criar uma classe JMenuBar e nela ter todo o menu do meu sistema, afim de facilitar manutenções e não precisar ficar mexendo em todas as telas quando precisar alterar algum menu. Só que, quando eu coloco todo o menu direto na classe VIEW, em qualquer uma delas, o dispose() funciona normal, sem problema algum, porém quando eu crio uma classe específica para o menu ele não funciona, tipo, eu estou com uma tela aberta e quero abrir outra, usando o itemMenu, eu queria que o dispose() fechasse a primeira tela mas ele não fecha. Alguém poderia me ajudar?
Por exemplo, aqui seria a classe onde está todo o menu e é nesta parte que iria abrir a tela Carro e deveria fechar a tela atual, independente de qual tela esteja aberta.
private JMenuItem getMntmTelaDeCarro() {
if (mntmTelaDeCarro == null) {
mntmTelaDeCarro = new JMenuItem("Tela de Carro");
mntmTelaDeCarro.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
CarroController.getInstance().abrirTela();
dispose();
}
});
}
return mntmTelaDeCarro;
}
e aqui é onde abre a outra tela e onde chamo o menu, da classe anterior:
private void initialize() {
Menu menu = new Menu();
this.setJMenuBar(menu.getMenuBarra());
this.setContentPane(getJContentPane());
this.setTitle("Carro");
this.setBounds(new Rectangle(470, 100, 590, 450));
}