panox 0 Denunciar post Postado Agosto 21, 2010 Olá a todos, estou fazendo alguns programas para me aperfeiçoar, e me surgiu uma duvida que gostaria de saber se é ou nao possível de ser feita. Tenho um JFrame que é chamado por outro JFrame, mas gostaria de que, quando o usuário clicasse no "X" do Frame, ao invés de cair no defaultCloseOperation e sair do sistema, apenas voltar para aquele Frame, e apenas ser fechado no Frame principal. Alguem teria uma boa dica para compartilhar ? Obrigado e um forte abraço a todos. Enrico. Compartilhar este post Link para o post Compartilhar em outros sites
Marco Antonio Rocha 0 Denunciar post Postado Agosto 21, 2010 Olá a todos, estou fazendo alguns programas para me aperfeiçoar, e me surgiu uma duvida que gostaria de saber se é ou nao possível de ser feita. Tenho um JFrame que é chamado por outro JFrame, mas gostaria de que, quando o usuário clicasse no "X" do Frame, ao invés de cair no defaultCloseOperation e sair do sistema, apenas voltar para aquele Frame, e apenas ser fechado no Frame principal. Alguem teria uma boa dica para compartilhar ? Obrigado e um forte abraço a todos. Enrico. Como está seu código? Pode tentar: frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); Compartilhar este post Link para o post Compartilhar em outros sites
panox 0 Denunciar post Postado Agosto 21, 2010 Ok, funcionou...muito obrigado Marco. Apenas uma duvida, quando eu chamo um novo frame, eu seto a visibilidade do anterior para false, minha pergunta é, como manter esse DISPOSE e fazer ele mudar o visible do frame anterior para true ? Obrigado novamente. Compartilhar este post Link para o post Compartilhar em outros sites
Giovanni Ritchie 0 Denunciar post Postado Agosto 21, 2010 O que você terá que fzr é guardar a referencia do anterior neste novo frame, vou criar um exemplo usando 2 frames: class FramePrincipal extends JFrame { private JButton mostrarOutoFrame; public FramePrincipal() { this.mostrarOutoFrame = new JButton("Abrir Janela"); add(this.mostrarOutoFrame, BorderLayout.SOUTH); this.mostrarOutoFrame.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // aqui eu chamo o novo frame e passo p/ ele a referencia // desse frame FrameSecundario frameSecundario = new FrameSecundario(FramePrincipal.this); frameSecundario.setVisible(true); // escondo esse frame setVisible(false); } }); setSize(200,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class FrameSecundario extends JFrame { private JFrame parent; public FrameSecundario(JFrame p) { this.parent = p; // aqui onde tudo funciona addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { parent.setVisible(true); dispose(); } }); setSize(200,200); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); } } Qlqer duvida é só postar.. Abraço http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites