Fechar um JFrame filho sem que o comando feche o JFrame Mãe.
09/04/2009
0
Elton Fonseca
Posts
09/04/2009
Mauricio Bento
09/04/2009
Guilherme
09/04/2009
Everton Barros
09/04/2009
Elton Fonseca
package System; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ExpertSolution extends JFrame { JMenuBar barra; JMenu opcoes; JMenuItem cadastroClientes, cadastroFuncionarios, sair; public ExpertSolution(){ super("Expert Solution"); Container tela = getContentPane(); tela.setLayout(null); barra = new JMenuBar(); setJMenuBar(barra); opcoes = new JMenu("Cadastros"); barra.add(opcoes); cadastroClientes = new JMenuItem("Cadastro de clientes"); cadastroClientes.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ CadastroClientes cadastroClientes = new CadastroClientes(); } } ); cadastroFuncionarios = new JMenuItem("Cadastro de Funcionários"); sair = new JMenuItem("Sair"); sair.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int opcao; Object[] BtSair={"Sim","Não"}; opcao = JOptionPane.showOptionDialog(null,"Deseja sair desta operação?","Fechar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, BtSair, BtSair[0]); if(opcao == JOptionPane.YES_OPTION) System.exit(0); } }); //cria tecla de atalho para os menus ítens cadastroClientes.setMnemonic(KeyEvent.VK_L); cadastroFuncionarios.setMnemonic(KeyEvent.VK_F); sair.setMnemonic(KeyEvent.VK_S); opcoes.add(cadastroClientes); opcoes.add(cadastroFuncionarios); opcoes.add(sair); this.setExtendedState(MAXIMIZED_BOTH); setVisible(true); setLocationRelativeTo(null); } public static void main(String[] args) { ExpertSolution app = new ExpertSolution(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
package System; import javax.swing.*; import javax.swing.text.*; import java.awt.*; import java.text.*; import java.awt.event.*; public class CadastroClientes extends JFrame { JLabel RazaoSocial, Cnpj, IscricaoEstadual, Endereco, Bairro, Cidade, Cep, Estado, Telefone; JTextField TRazaoSocial, TCnpj, TIscricaoEstadual, TEndereco, TBairro, TCidade, TCep, TEstado, Ttelefone; JFormattedTextField JfRazaoSocial, JfCnpj, JfCep; JButton BtSalvar, BtSair; MaskFormatter mascaraCnpj, mascaraInscricaoEstadual, mascaraCep, mascaraTelefone; public CadastroClientes(){ super("Cadastro de Clientes"); Container tela = getContentPane(); setLayout(null); //atribuição de valores para os JLabels RazaoSocial = new JLabel("RazaoSocial"); Cnpj = new JLabel("Cnpj"); IscricaoEstadual = new JLabel("Iscricao Estadual"); Endereco = new JLabel("Endereco"); Bairro = new JLabel("Bairro"); Cidade = new JLabel("Cidade"); Cep = new JLabel("Cep"); Estado = new JLabel("Estado"); Telefone = new JLabel("Telefone"); try{ mascaraCnpj = new MaskFormatter("##-###-###/####-##"); mascaraInscricaoEstadual = new MaskFormatter("###.###.###"); mascaraCep = new MaskFormatter("#####-###"); mascaraTelefone = new MaskFormatter("(##)-####-####"); mascaraCnpj.setPlaceholderCharacter('_'); mascaraInscricaoEstadual.setPlaceholderCharacter('_'); mascaraCep.setPlaceholderCharacter('_'); mascaraTelefone.setPlaceholderCharacter('_'); }catch(ParseException excp){} //atribuição dos valores para os JTextsFilds TRazaoSocial = new JTextField(50); TCnpj = new JFormattedTextField(mascaraCnpj); TIscricaoEstadual = new JFormattedTextField(mascaraInscricaoEstadual); TEndereco = new JTextField(50); TBairro = new JTextField(20); TCidade = new JTextField(20); TCep = new JFormattedTextField(mascaraCep); TEstado = new JTextField(20); Ttelefone = new JFormattedTextField(mascaraTelefone); //atribui um botão ao JFrame BtSalvar = new JButton("Salvar"); BtSair = new JButton("Sair"); //define os posicionamentos e as larguras de cada JLabel RazaoSocial.setBounds(50,20,80,20); Cnpj.setBounds(50,60,80,20); IscricaoEstadual.setBounds(50,100, 100,20); Endereco.setBounds(50,140,80,20); Bairro.setBounds(50,180,80,20); Cidade.setBounds(50,220,80,20); Cep.setBounds(50,260,80,20); Estado.setBounds(50,300,80,20); Telefone.setBounds(50,340,80,20); //define posicionamento dos JTextsFields TRazaoSocial.setBounds(125,20,200,20); TCnpj.setBounds(110,60,130,20); TIscricaoEstadual.setBounds(170,100,80,20); TEndereco.setBounds(110,140,200,20); TBairro.setBounds(110,180,100,20); TCidade.setBounds(110,220,150,20); TCep.setBounds(110,260,70,20); TEstado.setBounds(110,300,20,20); Ttelefone.setBounds(110,340,100,20); // define o posicinamento do botão salvar BtSalvar.setBounds(150,420,100,20); BtSalvar.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "O usuário foi cadastrado com sucesso!"); } }); BtSair.setBounds(280,420,100,20); BtSair.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int opcao; Object[] BtSair={"Sim","Não"}; opcao = JOptionPane.showOptionDialog(null,"Deseja sair desta operação?", "Fechar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, BtSair, BtSair[0]); if(opcao == JOptionPane.YES_OPTION) System.exit(0); } }); //define techa de atalho BtSair.setMnemonic(KeyEvent.VK_S); //determina o botão Salvar como foco após precionar o enter getRootPane().setDefaultButton(BtSalvar); //adiciona os JLabels acima na janela tela.add(RazaoSocial); tela.add(Cnpj); tela.add(IscricaoEstadual); tela.add(Endereco); tela.add(Bairro); tela.add(Cidade); tela.add(Cep); tela.add(Estado); tela.add(Telefone); //adiciona os TextsFields acima na janela tela.add(TRazaoSocial); tela.add(TCnpj); tela.add(TIscricaoEstadual); tela.add(TEndereco); tela.add(TBairro); tela.add(TCidade); tela.add(TCep); tela.add(TEstado); tela.add(Ttelefone);; //adiciona o botão salvar na tela tela.add(BtSalvar); tela.add(BtSair); //define que o usuário não pode redimensionar a janela setResizable(false); //define tamanho da janela setSize(500,500); //define janela como visivel setVisible(true); //abre janela no centro setLocationRelativeTo(null); } public static void main(String[] args) { CadastroClientes app = new CadastroClientes(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
09/04/2009
Carlos Heuberger
... if(opcao == JOptionPane.YES_OPTION) dispose(); // ou CadastroClientes.this.dispose(); ...
09/04/2009
Elton Fonseca
06/06/2010
Carlos Naves
01/06/2016
Sidney