java.lang.IllegalArgumentException: defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
AndrewAguiar
JavaChild

Membro desde: 18/07/2006 10:03:59
Mensagens: 124
Offline

Olá pessoal.

Me deparei com o seguinte erro

java.lang.IllegalArgumentException: defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE
at javax.swing.JDialog.setDefaultCloseOperation(Unknown Source)

na linha de codigo que eu seto o DefaultCloseOperation eu passo o valor "3" que na JDialog corresponde a EXIT_ON_CLOSE, aqui este erro não ocorre porém ocorre no cliente.

Desconfio que seja a versão do Java instalado e que nesta versão a constante EXIT_ON_CLOSE tenha outro valor.

Alguém saberia se é isto mesmo.

Grato a todos.
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Para evitar problemas como esse use a constante, nunca o valor literal.



Isso também torna o seu código mais legível.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
jcvijr
JavaChild
[Avatar]

Membro desde: 15/04/2005 17:10:06
Mensagens: 111
Offline

Cara acredite...

No Java 1.6 esse EXIT_ON_CLOSE não funciona! Eu estava desenvolvendo uma aplicação com Java 1.5, mandei para outra pessoa testar e ela me reportou que não abria nenhuma tela... Porém na minha funcionava.

Tomem cuidado. Utilizei DISPOSE_ON_CLOSE no lugar

Ah, Java é uma ilha da Indonésia - um designer intrometido
[WWW] [MSN]
brunogamacatao
JavaBaby

Membro desde: 28/03/2006 14:41:44
Mensagens: 92
Offline

O problema de usar DISPOSE_ON_CLOSE quando se quer matar a aplicação é que apesar da janela ser fechada a JVM continua rodando. Cara, com a versão da JVM 1.6 que estou usando, o EXIT_ON_CLOSE funciona sem problemas. Porém, caso aí não funcione de jeito nenhum, você pode tentar uma abordagem "alternativa", como por exemplo fechar a janela na "marra" reescrevendo o código que trata o evento quando o usuário tenta fechar a janela:

This message was edited 1 time. Last update was at 11/10/2007 13:51:20

AndrewAguiar
JavaChild

Membro desde: 18/07/2006 10:03:59
Mensagens: 124
Offline

O mais estranho é que a minha versão do java que estou testando é a 1.4.2 igual a do cliente.
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

tenta coloca o exit_on_close igual o vinigodoy falo, caso não de certo vc pode fazer diferente...

coloque o hide_on_close, pegue o evento da janela sendo fechada, e quando isso acontecer da um system.exit(0)...

não é bem o usual mais ao menos vai força o fechamento igual o exit_on_close, ja q vc não tem ele ai...

o evento q vc vai trata é o WindowListener

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team