Olá amigos,
estou querendo uma caixa de texto para inserção de numeros inteiros. Se eu fizer JOptionPane.showInputDialog sóa ceita numeros inteiros.
Alguem pode me ajudar???
Olá amigos,
estou querendo uma caixa de texto para inserção de numeros inteiros. Se eu fizer JOptionPane.showInputDialog sóa ceita numeros inteiros.
Alguem pode me ajudar???
pera ae, deixa eu entender a dúvida…
Você primeiramente disse que queria uma caixa de texto para Inserção de números inteiros
E depois disse que o JOptionPane.showInputDialog só aceita números inteiros ???
não era o que queria?!
[quote=masterpablo]Olá amigos,
estou querendo uma caixa de texto para inserção de numeros inteiros. Se eu fizer JOptionPane.showInputDialog sóa ceita numeros inteiros.
Alguem pode me ajudar???[/quote]
Poderia explicar melhor sua dúvida?? Porque ficou “meio” confuso isso ai!!
Ô Galera, foi mau!
eu queria dizer que o JOptionPane só aceita STRING e não numeros inteiros. Numeros inteiros é que eu quero colocar.
Aguardo resposta(s)!
Ola,
Vc pode fazer criar uma PropertyChangeListener e adicionar ao Dialog que o JOptionPane cria…
Use o JOptionPane e faça uma validação para que só aceite numeros…quando receber a string é só converter para inteiro ou double, caso queira…Na API existem alguns metodos para conversão de String para numeros de uma pesquisada em Integer que você vai achar.
at.
Será que vcs podem me dar um exemplo do código???
pane.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
String propertyName = event.getPropertyName();
if (dialog.isVisible()
&& (event.getSource() == pane)
&& (JOptionPane.VALUE_PROPERTY.equals(propertyName) || JOptionPane.INPUT_VALUE_PROPERTY
.equals(propertyName))) {
Object value = pane.getValue();
if (value == JOptionPane.UNINITIALIZED_VALUE) {
return;
}
pane.setValue(JOptionPane.UNINITIALIZED_VALUE);
if (OPTION_OK_CANCEL[0].equals(value)) {
if (!nullValue
&& (text.getText() == null || text.getText().trim().length() == 0)) {
text.selectAll();
JOptionPane.showMessageDialog(dialog, Messages
.getString("JOptionUtil.4"), title, //$NON-NLS-1$
JOptionPane.ERROR_MESSAGE);
text.requestFocusInWindow();
return;
}
if (!validateString(text.getText())) {
JOptionPane.showMessageDialog(dialog, Messages
.getString("JOptionUtil.5"), title, //$NON-NLS-1$
JOptionPane.ERROR_MESSAGE);
text.requestFocusInWindow();
return;
}
dialog.setVisible(false);
} else if (OPTION_OK_CANCEL[1].equals(value)) {
text.setText(null);
dialog.setVisible(false);
}
}
}
});
Este é um metodo generico meu aqui, onde eu valido a string em “validateString(String)” se não for valida eu dou uma msg pro usuário.
o “pane” é um JOptionPane
Talvez seja muito procedimento para pouca coisa.
Eu estou fazendo um programinha de um banco que vai receber o valor do deposito que o cliente quiser depositar, só isso.
Eu queria que isso fosse inserido em uma caixa de texto ao invés de ser no console do eclipse. O pessoal da faculdade criou um pacote que se chama IO* e que nesse pacote a gene coloca window(on) e ele já mostra a caixinha de texto, mas eu nao consegui instalar isso no meu micro entao estou usando o eclipse mesmo.
Será que nao tem uma outra forma mais simples de mostrar a caixinha???
Um abraço!
do{
resp = JOptionPane.showInputDialog(null,“Idade em ANOS”,“Cadastro”,JOptionPane.PLAIN_MESSAGE);
}while(Double.parseDouble(resp)<0);
idade = Double.parseDouble(resp);
Tenta isso ai cara!
[code]String x, y;
x = JOptionPane.showInputDialog("Informe um número inteiro:");
int num1 = Integer.parseInt(x);
y = JOptionPane.showInputDialog("Informe outro número inteiro:");
int num2 = Integer.parseInt(y);[/code]
O java le tudo em String, ou seja isso que você ta querendo é uma simples conversão de String pra Int.
que se da usando Integer.parseInt(variável);
uma exemplo de uma validação assim:
String resp;
do{
resp = JOptionPane.showInputDialog(null,"Informe um número","Cadastro",JOptionPane.PLAIN_MESSAGE);
}while(Integer.parseInt(resp)<=0);
valida até o resultado ser maior que 0.
espéro que tenha entendido abraço.
Eu faço assim e nunca deu problema
eu crio um laço doWhile pego o valor da InputDialog e tento converter
o valor para uma variavel int no caso aqui"n" dentro de um bloco try catch
caso de certo o atributo “test” recebe o valor de “0”
caso cai no catch então “test” recebe “1”
e no while eu faço a condição de se test.Equals(“1”) ou seja caso tenha caido
na exeçã retorne a InputDialog ate que seja um numero e caso seja menor que “0” tbm;
int n = 0;
String Quantidade;
String test;
do{
Quantidade = JOptionPane.showInputDialog(null,"Digite a quantidade do Produto");
try
{ n = Integer.parseInt(Quantidade);
test = "0";
}
catch(NumberFormatException nfe)
{
test= "1"; JOptionPane.showMessageDialog(null, "numero inválido");
}
}
while(test.equals("1")||Integer.parseInt(Quantidade)<=0);
a quem servir pois um dia fiquei um tempo pensando nisso!!!
fui !! UNIÂO JAVA!!
masterpablo bom d mais? Tenta ai:
int i = Integer.parseInt(JOptionPane.showInputDialog("Digite seu numero"));
[quote=evertonsilvagomesjava]masterpablo bom d mais? Tenta ai:
int i = Integer.parseInt(JOptionPane.showInputDialog("Digite seu numero"));
Eu também sempre usei assim. Sempre deu certo.
Abraço
Oi,
Você poderá fazer algo simples que muita gente desconhece:
[code]MaskFormatter
lo_formatter = new MaskFormatter();
lo_formatter.setValidCharacters(“ABCDEF”);
JFormattedTextField
lo_text = new JFormattedTextField(lo_formatter);
JOptionPane.showOptionDialog(null,lo_text,“Digite:”,JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE,null,new Object[]{“OK”},JOptionPane.OK_CANCEL_OPTION);[/code]
Você pode colocar um campo qualquer em uma JOptionPane! nesse caso irá ser trabalhado com um JFormattedTextField.
Escolha o MaskFormatter que quiser…
Tchauzin!