Fórum Fechar um JFrame filho sem que o comando feche o JFrame Mãe. #567656
09/04/2009
0
Elton Fonseca
Curtir tópico
+ 0Posts
09/04/2009
Vagner
JFrame filho.setVisible(false);
Gostei + 0
09/04/2009
Mauricio Bento
Gostei + 0
09/04/2009
Guilherme
Gostei + 0
09/04/2009
Everton Barros
Gostei + 0
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);
}
}
Gostei + 0
09/04/2009
Carlos Heuberger
...
if(opcao == JOptionPane.YES_OPTION)
dispose(); // ou CadastroClientes.this.dispose();
...Gostei + 0
09/04/2009
Elton Fonseca
Gostei + 0
06/06/2010
Carlos Naves
Gostei + 0
01/06/2016
Sidney
Gostei + 0