Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    196

    domanda gnubba

    stavo facendo una mini calcolatrice e mi è sorto un dubbio.
    poniamo il caso di avere un jtextfield
    JTextField x = new JTextField();
    se io voglio controllare che il valore di x.getText(); non sia un numero, come devo fare?

    mi spiego meglio, se inserisco una lettera nel jtextfield e premo un button , devo ottenere un messaggio di errore, perchè verifico che il jtextfield permette soltanto di immettere numeri

    ho provato con if((Double)x.getText().isNaN) { finestra d'errore } ma non funziona, perchè solleva l'exc del double, che non riesce a fare il casting.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Per favore, usa titoli più significativi per i tuoi quesiti, come da Regolamento.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    196

    Re: Moderazione

    Originariamente inviato da alka
    Per favore, usa titoli più significativi per i tuoi quesiti, come da Regolamento.

    Ciao!
    ops, chiedo scusa ^^

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    196
    mi accorgo di essermi spiegato male.
    se inserisco una lettera in un jtextfield come posso fargli mandare un mex di avviso? se faccio Double.parseDouble(nometextfield.getText()) mi genera exception pkè nn può trasformare una lettera in double

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Potresti procedere in diversi modi:

    usi un JFormattedField, espressioni regolari oppure sfrutti l'eccezione. Ti "illustro" brevemente quest'ultima ipotesi (che è anche la più semplice da realilzzare)
    codice:
    try {
      double d = Double.parseDouble(textfield.getText());
    }
    catch (Exception e) {
      textfield.setText("Invalid Number Format!");
      textfield.requestFocus();
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Al posto di stare a controllare se il testo inserito è formato solo da numeri e nel caso ci siano lettere mandare un messaggio d'errore puoi direttamente impedire l'inserimento di caratteri che non siano numeri, guarda questo

    http://forum.html.it/forum/showthrea...xtfield+numeri

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.