Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Stampa caratteri accentati su GUI Java

    Salve a tutti, vi espongo il mio problema:
    sto realizzando un software che distribuirò in una versione multilingua, per fare ciò ho adottato la seguente metodologia. Ho creato una Language la quale, contiene a sua volta un metodo che a seconda del parametro che dò in ingresso (una stringa che mi rappresenta il percorso di un file) va a leggere tale file.
    Questo file (in realtà sono 1 per ogni lingua) è strutturato nel seguente modo,
    KEY1=VALUE1
    titolojlabel=manamanà
    .......
    ecc....

    all'attivazione del mio metodo vado a leggere riga per riga il file e costruisco un HashMap.
    A questo punto ho aggiunto un metodo getValue(String key) che richiamerò in ogni componente della mia GUI per settare i titoli; quindi a seconda del file che ho letto in partenza(language_ita.cfg, language_fra.cfg, language_eng.cfg,....) e con cui ho costruito l'HashMap la mia GUI verrà visualizzata con il relativo linguaggio.

    Il tutto funge perfettamente eccezion fatta per i caratteri accentati ahimè!!!

    se io ho ad esempio una JLabel, con
    codice:
    jlabelname.setText("manamanà");
    sull'interfaccia nella JLabel vedo correttamente scritto manamanà..

    se invece uso il mio metodo,
    codice:
    jlabelname.setText(Language.getValue("titolojlabel"));
    sull'interfaccia nella JLabel vedo scritto manamanA(con una tilde sopra la A e 2 puntini in alto a destra della lettera) e ho notato che vedo sempre questa cosa qualsiasi sia il carattere accentato da caricare (à, è, ì, ò, ù).

    COME POSSO RISOLVERE?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Stampa caratteri accentati su GUI Java

    Originariamente inviato da fabiolinux85
    Ho creato una Language la quale, contiene a sua volta un metodo che a seconda del parametro che dò in ingresso (una stringa che mi rappresenta il percorso di un file) va a leggere tale file.
    Questo file (in realtà sono 1 per ogni lingua) è strutturato nel seguente modo,
    KEY1=VALUE1
    titolojlabel=manamanà
    .......
    ecc....

    all'attivazione del mio metodo vado a leggere riga per riga il file e costruisco un HashMap.
    A questo punto ho aggiunto un metodo getValue(String key) che richiamerò in ogni componente della mia GUI per settare i titoli;
    Hai appena reinventato la ruota ....

    Esiste già .... -> java.util.PropertyResourceBundle, leggi il tutorial: Isolating Locale-Specific Data
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Ecco cosa visualizza

    Il carattere visualizzato al posto di qualsiasi carattere accentato è questo: è

  4. #4

    Ah non ero a conoscenza di questa roba

    Mi spiace andbin ma non avevo mai sentito parlare di questa cosa e quindi mi sono dato al fai da te... tuttavia vorrei capire come poter risolvere quel problema con i caratteri accentati.

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Stampa caratteri accentati su GUI Java

    Originariamente inviato da fabiolinux85
    sull'interfaccia nella JLabel vedo scritto manamanA(con una tilde sopra la A e 2 puntini in alto a destra della lettera) e ho notato che vedo sempre questa cosa qualsiasi sia il carattere accentato da caricare (à, è, ì, ò, ù).
    Questioni di "charset"!!!

    In quale charset è scritto il file? (questo lo devi stabilire tu) E lo leggi con quale classe? Dovresti usare FileInputStream -> InputStreamReader (e a quest'ultimo specificare il charset) -> BufferedReader.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.