Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Localizzazione spinner

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    51

    Localizzazione spinner

    Ciao,
    spinner.png
    Come si può notare questo JSpinner così istanziato:

    js = new javax.swing.JSpinner(new SpinnerNumberModel(0.5,0.0,10.0,0.1));

    MI visualizza i valori Double in localizzazione europea (la virgola decimale) il che è fastidioso, è possibile dargli una localizzazine US (punto decimale)?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da cersil Visualizza il messaggio
    js = new javax.swing.JSpinner(new SpinnerNumberModel(0.5,0.0,10.0,0.1));

    MI visualizza i valori Double in localizzazione europea (la virgola decimale) il che è fastidioso, è possibile dargli una localizzazine US (punto decimale)?
    Grazie
    Prova così:

    codice:
    js = new JSpinner();
    js.setLocale(Locale.ENGLISH);
    js.setModel(new SpinnerNumberModel(0.5,0.0,10.0,0.1));

    Nota: c'è un motivo per cui ho spezzato la cosa e messo in mezzo il setLocale.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    51
    Non so quale sia il motivo ma non funziona ne così ne nella forma contratta. Continua a mettere la virgola!?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da cersil Visualizza il messaggio
    Non so quale sia il motivo ma non funziona ne così ne nella forma contratta. Continua a mettere la virgola!?
    Strano ... ma sono andato un po' ad intuito. Verifico e provo meglio domani mattina.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Questo di seguito funziona, provato.

    codice:
    js = new JSpinner(new SpinnerNumberModel(0.5, 0.0, 10.0, 0.1));
    JSpinner.NumberEditor ne = (JSpinner.NumberEditor) js.getEditor();
    ne.getFormat().setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.ENGLISH));

    Non mi piace particolarmente ... ma tant'è che funziona.

    Se ti andasse bene impostare la formattazione "predefinita" per TUTTA la applicazione con il Locale.ENGLISH, allora da Java 7 puoi fare una-tantum all'inizio:

    Locale.setDefault(Locale.Category.FORMAT, Locale.ENGLISH);

    Ma questo può impattare anche su altro, quindi da valutare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    51
    Perfetto Geazie!

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.