2008-12-04 14 views
3

Comment afficher les caractères Unicode (par exemple, japonais) dans le titre d'une JFrame dans java swing dans Windows XP m/c sans le module de langue japonais? Cela ressemble à la définition du texte du titre en caractères Unicode japonais et la police à MS Mincho ne suffit pas. Alors que c'est tout ce que vous devez faire pour afficher les caractères Unicode dans les étiquettes Swing?Définition de caractères Unicode dans les images Java

Répondre

4

"sans le pack de langue japonaise"?

Il semble que vous ayez au moins download the language font ...

alt text

La police est la seule chose qui doit être installé sur votre ordinateur client pour exécuter l'application.

L'utilisation de la police est beaucoup plus facile dans Swing contrairement à AWT.
Pour les composants AWT, c'est-à-dire avec un homologue natif, vous devez personnaliser les paramètres de JRE et modifier font.properties sous/jre/lib pour inclure la police que vous avez installée sous chaque type de police.

Dans votre application Swing, il vous suffit de définir la police du composant Swing avant de définir son texte.

Le lien au début de la publication contient un exemple complet.
extrait Petit:

JFrame frame = new JFrame(); 
String string = "\u30b7\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf"; 
JLabel label = new JLabel(); 
label.setFont(new Font("MS Mincho",Font.PLAIN, 12)); 
label.setText(string); 
frame.getContentPane().add(label); 
frame.setFont(new Font("MS Mincho",Font.PLAIN, 12)); 
frame.setTitle(string); 

La documentation générale pour Java J2SE6 (1.6.0) est here, inclus la Font Configuration Files

De Java5 et plus tard, vous n'avez pas besoin font.properties fichier plus, car vous pouvez charger un fichier de police afin de créer/utiliser une police.

String fontFileName = "yourfont.ttf"; 
InputStream is = this.getClass().getResourceAsStream(fontFileName); 
Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, is); 
Font ttfReal = ttfBase.deriveFont(Font.PLAIN, 24);