Bom dia Pessoal!
peço uma ajuda a vocês, pois meu frame não está fechando a execução, percebam que ele fecha a janela, mas não fecha a execução da mesma.
o que eu devo fazer?
package WinEstoque;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.UIManager;
import WinEstoque.WinCadastros.WinCadastroClientes;
import WinEstoque.WinCadastros.WinCadastroProdutos;
public class WinEstoque extends JFrame {
private static boolean statusWindow = false;
private WinCadastroProdutos cadastroProdutos = new WinCadastroProdutos();
private WinCadastroClientes cadastroCliente = new WinCadastroClientes();
JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
WinEstoque frame = new WinEstoque();
frame.setVisible(true);
statusWindow = true;
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public WinEstoque() {
setTitle("Estoque");
setSize(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height-25);
setExtendedState(MAXIMIZED_BOTH);
setLocationRelativeTo(null);
/**
* Organização e criação dos Menus;
*/
JMenuBar jmbEstoque = new JMenuBar();
setJMenuBar(jmbEstoque);
JMenu mnArquivo = new JMenu("Arquivo");
jmbEstoque.add(mnArquivo);
JMenuItem mntmClientes = new JMenuItem("Clientes");
mnArquivo.add(mntmClientes);
JMenuItem mntmProdutos = new JMenuItem("Produtos");
mnArquivo.add(mntmProdutos);
JSeparator jspSeparador = new JSeparator();
mnArquivo.add(jspSeparador);
JMenuItem mntmSair = new JMenuItem("Sair");
mnArquivo.add(mntmSair);
contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
if (cadastroCliente.getStatusWindow()==true | cadastroProdutos.getStatusWindow()==true){
JOptionPane.showMessageDialog(null, "Não é possivel fechar a janela enquanto houver outras janelas abertas!" +
"\n\nFeche as demais janelas vinculadas a esta para poder fechar o sistema!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
statusWindow = true;
setDefaultCloseOperation(JFrame.NORMAL);
}else if (cadastroCliente.getStatusWindow()==false && cadastroProdutos.getStatusWindow()==false){
statusWindow = false;
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
});
/**
* Ações dos Menus
*/
mntmClientes.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(cadastroCliente.getStatusWindow() == true){
JOptionPane.showMessageDialog(null, "Só é possível abrir uma janela de Cadastro de Clientes!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
}else{
WinCadastroClientes.main(null);
}
}
});
mntmProdutos.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(cadastroProdutos.getStatusWindow() == true){
JOptionPane.showMessageDialog(null, "Só é possível abrir uma janela de Cadastro de Clientes!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
}else{
WinCadastroProdutos.main(null);
}
}
});
mntmSair.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if (cadastroCliente.getStatusWindow()==false && cadastroProdutos.getStatusWindow()==false){
statusWindow = false;
dispose();
}else{
JOptionPane.showConfirmDialog(null, "Não é possivel fechar a janela enquanto houver outras janelas abertas!" +
"\n\nFeche as demais janelas vinculadas a esta para poder fechar o sistema!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
statusWindow = true;
}
}
});
/**
* Inserir Paineis com as mesmas Opções dos Menus
*/
}
public static boolean getStatusWindow(){
return statusWindow;
}
}
se Vocês poderem me ajudar, agradeço!!!