| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 13:51:17
|
oliveirarenan
Virtual Machine Man
![[Avatar]](/images/avatar/c8d3f7ae4108e7693f0ab.jpg)
Membro desde: 19/03/2003 19:29:41
Mensagens: 547
Localização: São Paulo
Offline
|
Pessoal, tenho os seguintes programinhas básicos para se fazer um circulo com a entrada do raio pela teclado.
DesenhaCirculo.java
Circulo.java
Compilando e executando o desenhacirculo, ele pede a entrada do raio através de um JOptionPane.
Está funcionando, mas o JOptionPane entre em looping.
Como eu faço para que após a 1º entrada de dados não apareça mais a caixa de diálogo?
valeu@
|
Renan Espíndola de Oliveira
Desenvolvedor J2EE |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 14:00:22
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Credo, não ponha entrada de dados no método paint.
Ele é chamado freqüentemente pela sua aplicação - na verdade quase toda vez que se "estraga" o desenho mostrado, por exemplo passando uma janela por cima, o método paint é chamado. Se por exemplo o JOptionPane mostrou uma janela por cima da sua aplicação, então o paint será chamado novamente (não é o JOptionPane que entrou em loop).
Ponha em outro lugar, mas não ali.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 14:38:16
|
oliveirarenan
Virtual Machine Man
![[Avatar]](/images/avatar/c8d3f7ae4108e7693f0ab.jpg)
Membro desde: 19/03/2003 19:29:41
Mensagens: 547
Localização: São Paulo
Offline
|
Qual é a sua sugestão Thiogo?
valeu
|
Renan Espíndola de Oliveira
Desenvolvedor J2EE |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 14:53:24
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Bom, para não mexer muito no seu programa, você pode pôr um flag...
Algo que você teste antes de chamar JOptionPane. Na primeira vez que você chamar JOptionPane, sete o flag para true. Depois, se o flag estiver true, você não chama mais.
OT: Acho que o FindBugs deve, ou devia ter uma regra do tipo "Excesso de flags booleanos indica problemas". É que normalmente a gente põe um monte de flags para quebrar galhos e acaba se estrepando depois.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 16:34:50
|
oliveirarenan
Virtual Machine Man
![[Avatar]](/images/avatar/c8d3f7ae4108e7693f0ab.jpg)
Membro desde: 19/03/2003 19:29:41
Mensagens: 547
Localização: São Paulo
Offline
|
Bem, fiz o código mas ele não ficou muito funcional...
Mas, td bem....
Agora estava fazendo uma aplicação para entrar com as coordenadas de uma reta e a mesma ser desenhada.
Reta.java
DesenhaRetaSwing.java
Principal.java
Só que o JOptionPane entra em looping quando eu o chamo.
Att,
Renan
|
Renan Espíndola de Oliveira
Desenvolvedor J2EE |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2005 17:32:51
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Bem-vindo ao mundo do processamento paralelo!
Como eu lhe falei, já que você insistiu em usar o Paint, está sofrendo as conseqüências. Experimente jogar o "flag = true" exatamente depois do teste, não no fim da entrada de dados.
Tem outros métodos que você poderia ter usado, acho que o pior deles era pôr no paint. Dê uma olhada em outros programas parecidos, para ver em que evento (método) é que se põe a entrada de dados.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/05/2005 08:58:58
|
oliveirarenan
Virtual Machine Man
![[Avatar]](/images/avatar/c8d3f7ae4108e7693f0ab.jpg)
Membro desde: 19/03/2003 19:29:41
Mensagens: 547
Localização: São Paulo
Offline
|
Thiago, eu setei o flag antes de exibir a mensagem mas não deu certo.
Deve haver outro jeito....mas mesmo assim, obrigado!
|
Renan Espíndola de Oliveira
Desenvolvedor J2EE |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/03/2009 13:50:46
|
hugonaves
Smalltalk
Membro desde: 26/03/2009 13:48:56
Mensagens: 1
Offline
|
to precisando de ajuda em relação a entrada de dados com o JOptionPane..
no caso de variáveis Inteiras
eu crio uma variavel string e dpois atribuo o valor dela a uma inteira..
no caso:
quant = Integer.parseInt(msg);
mas eu preciso de entrar com uma variável tipo Char
alguem tem como me ajudar?
obrigado.
|
|
|
 |
|
|
|
|