Problema com JOptionPane.showInputDialog

6 respostas
dler

Pessoal preciso de uma ajudinha com JOptionPane.showInputDialog nao encontrei uma maneira de fazer com que ele nao aceite ser digitado em branco,porque se voce digitar apenas OK a string recebe o valor em branco.

//recebe codigo do produto
        String Codigo = JOptionPane.showInputDialog("Codigo");

Outro problema e o CANCEL.

6 Respostas

alexcomput

Cara…acho que isso ai…vc tem que tratar é no codigo mesmo…para quando o cara digitar nada…
para quando o cara cliclar em cancelar …

Marck

Bom dia

Aqui tem um exemplo.
http://lists.apple.com/archives/java-dev/2006/Jun/msg00419.html

Você só vai ter que criar uma classe que estenda Document e fazer o tratamento para que não entre um espaço em branco.

att,

Scoobydoo

Crie um While para ele repetir a operação sempre que o Código for nulo

Integer X =1;
while (X==1) {
String Codigo = JOptionPane.showInputDialog("Codigo");  
if (Codigo.equals(null)) {
   X =2;
} else {
JOptionPane.showMessageDialog(null,"nao deixe o código nulo");
}
}
E

Aimeudeus, que história é essa de usar uma variável Integer para simular um flag (ou seja, tipo boolean)?

Além disso, “X” é um nome que só é bom dar a uma variável se ela representar a variável “X” de uma fórmula matemática.

String codigo = null;
    boolean ok = false;
    while (! ok)
         codigo = JOptionPane.showInputDialog ("Entre com o valor do código");
         if (codigo == null || codigo.trim().isEmpty()) {
            JOptionPane.showMessageDialog(null,"Dá um tempo. Entre um código válido, e clique OK. Não vai custar nada para você.")  
         } else {
            ok = true;
         }
    }
Scoobydoo

Tanto fais. Ia funcionar de qualquer jeito. ^^
Não estamos falando em códigos padrões.
Além disso, criando uma integer ele pode adicionar outras funções, retornando valores definidos de acordo com o que foi digitado.

leonardom

Use um while mesmo é a forma mais simples.

String codigo = null;
		
while (codigo == null || "".equals(codigo))
    codigo = JOptionPane.showInputDialog("Codigo");
Criado 19 de janeiro de 2010
Ultima resposta 20 de jan. de 2010
Respostas 6
Participantes 6