2010-05-10 8 views
2

Pour une application scientifique, je souhaite concevoir un formulaire de saisie qui permet à l'utilisateur d'entrer certains paramètres. Certains d'entre eux sont désignés en utilisant des lettres grecques, certains d'entre eux ont des lettres latines. Les noms des paramètres doivent être affichés à l'aide des commandes JLabel ordinaires.Grec/latin scientifique JLabel dans Java Application Swing

Sous Windows, le Tahoma police (qui est utilisé pour les étiquettes par défaut) contient les lettres latines et grecques, donc je simplement définir la propriété Text de l'étiquette à un grec (unicode) chaîne et tout fonctionne très bien.

Je me demande si cela fonctionne aussi sans modifications sur les systèmes Linux et OSX resp. pour quelles versions Java/OS cela fonctionnerait.

Aussi je suis curieux de savoir s'il y a un moyen facile de montrer dans les étiquettes (indices « \ » dans eta_0 TeX), mais ce n'est pas si important que cela pour mon application ...

+0

Vous pouvez toujours poster un petit programme de test. De cette façon, les gens peuvent confirmer si cela fonctionne ou non avec leur JDK/JRE. –

Répondre

5

Je ne doute pas que la La grande majorité des polices Unicode inclut le bloc grec.

Sur toutes les plateformes, et pour tous les paramètres régionaux.

Lorsqu'il manque des blocs Unicode, c'est pour des raisons d'économie d'espace. La cinquantaine de caractères dans le bloc grec n'est rien comparé aux milliers de caractères est-asiatiques (que mon dernier bureau Linux incluait par défaut, btw).

En parlant de Unicode fantaisie: http://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

Bien sûr, malgré toute confiance que vous ou je pourrais avoir, vous devez tester votre application sur autant de configurations que vous pouvez avant de déployer. Java fait de son mieux, mais en pratique, j'ai toujours trouvé quelques petites choses à faire.

+0

Merci pour la réponse, je vais continuer avec cette approche. Bien sûr, je vais le tester dès que j'aurai accès à différents systèmes cibles mais j'espère qu'il n'y aura pas de mauvaises surprises (combien de fois cela a-t-il été dit ??) :) – MartinStettner

1

@ La réponse de Gunslinger47 est déterministe, mais vous pouvez également regarder cette game sur différentes plateformes cibles. Il affiche les glyphes de plusieurs graphiques de code de caractères Unicode, y compris le grec.

enum GlyphSet { 

    ASCII(0x0021, 0x007E), Greek(0x0370, 0x03FF), Letters(0x2100, 0x214F), 
    Operators(0x2200, 0x22FF), Miscellany(0x2300, 0x23FF), Borders(0x2500, 0x257F), 
    Symbols(0x2600, 0x26FF), Dingbats(0x2700, 0x27BF), Arrows(0x2900, 0x297F); 
    ... 
}