Está fechando toda a aplicação

8 respostas
M

Olá, Galera

Estou com o seguinte problema:

-Tenho um JFrame que abre uma JDialog, ao fechar a JDialog através de uma rotina no metódo keyPressed a mesma fecha a aplicação inteira, alguém poderia me ajudar neste caso, segue abaixo o trecho do código, se precisar de mais alguma informação, por favor me pergunte.

Detalhe: Já coloquei este comando na JDialog e também não funcionou, setDefaultCloseOperation( DISPOSE_ON_CLOSE )

Coloquei esta rotina no Construtor do meu JDialog.

jTable1.addKeyListener(new KeyListener ()
            {
                @Override
                public void keyTyped(KeyEvent ke) {
                    //throw new UnsupportedOperationException("Not supported yet.");
                }

                @Override
                public void keyPressed(KeyEvent ke) {
                    if (ke.getKeyCode() == KeyEvent.VK_ENTER) 
                    {
                        int iIndex = jTable1.getSelectedRow();
                        int iColuna = jTable1.getSelectedColumn();
                        iColuna = 0;
                        
                        Object v1 = jTable1.getModel().getValueAt(iIndex, iColuna);
    
                        sNameUser = (String)v1;
                        close();
                    }

                    //throw new UnsupportedOperationException("Not supported yet.");
                }

                @Override
                public void keyReleased(KeyEvent ke) {
                    //throw new UnsupportedOperationException("Not supported yet.");
                }
            });

Metódo Close

public void close()
    {
        DisplayQueryResults.this.dispose();
    }

Agradeço desde já.

8 Respostas

RicardoYukito

no lugar do dispose(), tente um .setVisible(false);

M

Olá, Ricardo.

Com setVisible funciona mas não quero utilizar este comando senão a mesma ficará em memória.

Por isso quero fechar com Dispose. Se tiver alguma outra sugestão agradeço.

Abs,

Marcos

julianolandim

Voce ja colocou
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE) e deu erro? qual erro que deu?
e porque você não usa somente this.dispose() ao invés de DisplayQueryResults.this.dispose() ?

M

Juliano,

Eu já fiz tudo isso que vc descreveu, inclusive já coloquei this.dispose(), não da erro algum, o único problema é que fecha a tela anterior onde eu abro a JDialog. Se tiver alguma outra sugestão por favor me ajude.

Abs,

Marcos

julianolandim

Olá Marcos,
por favor posta o código que você usa para abrir a JDialog

M

Valeu, Galera.

Após olhar muito o fonte descobri o problema.

Valeu pela ajuda.

julianolandim

muekita:
Valeu, Galera.

Após olhar muito o fonte descobri o problema.

Valeu pela ajuda.


e o que você estava fazendo de errado ?

M

julianolandim:
muekita:
Valeu, Galera.

Após olhar muito o fonte descobri o problema.

Valeu pela ajuda.


e o que você estava fazendo de errado ?

Tinha um System.exit(), perdido no fonte e nem tinha visto, só vi isso depois que eu revisei linha a linha.

Valeu,

abs.

Criado 9 de setembro de 2011
Ultima resposta 12 de set. de 2011
Respostas 8
Participantes 3