在Java中显示unicode字符

时间:2013-02-15 14:11:23

标签: java unicode

我试图在java swing组件的Sinhala(80:0D80-0DFF)范围内显示一些unicode字符。这些字母在eclipse控制台中正确显示,但这些字母在JButtons,JTextArea,JTextPane&等

import java.awt.BorderLayout;
import javax.swing.*;

public class Unicode extends JFrame{

    public Unicode(){

        super("ක් කැ කැ කු අ ඉ");

        add(new JButton("ක් කැ කැ කු අ ඉ \u0D88"),BorderLayout.NORTH);
        add(new JTextField("ක් කැ කැ කු අ ඉ"), BorderLayout.CENTER);

        setSize(500,500);
        setVisible(true);
    }

    public static void main(String a[]){
        new Unicode();
    }
 }

我尝试使用字符和字符代码进行显示,但都不起作用。谷歌给出的许多答案都不起作用。请给我一个帮助。我正在使用带有java 1.6的Windows 7。

谢谢...

2 个答案:

答案 0 :(得分:2)

请将字体设为“IskolaPotha”。 我认为它工作正常。(我使用这种字体)。但Swing componetns(没有JFrame)不能正确显示“ක්යෝ”unicode字符。

答案 1 :(得分:1)

如果eclipse能够渲染sinhala字体,那么肯定你的fontfile具有sinhala字形。现在,swing组件无法选择该字体,因此您需要明确强制选择要显示的文件。

为了制作通用解决方案,你需要迭代代码页,并且必须找到支持sinhala范围的unicodes。

请查看此链接以获取更多信息:

http://content.hccfl.edu/pollock/Java/Fonts.htm