3

Java Swingコンポーネントで、シンハラ語(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();
    }
 }

文字と文字コードを使って表示しようとしましたが、どちらも動作しません。グーグルによって与えられた多くの答えは機能しません。助けてください。私はJava1.6でWindows7を使用しています。

ありがとうございました...

4

2 に答える 2

1

Eclipse がシンハラ フォントをレンダリングできる場合、シンハラ グリフを含むフォント ファイルがあることは確実です。現在、swing コンポーネントはそのフォントを選択できないため、表示するファイルを明示的に選択する必要があります。

一般化されたソリューションを作成するには、コードページを繰り返し処理し、シンハラ範囲のユニコードをサポートするものを見つける必要があります。

詳細については、次のリンクをご覧ください。

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

于 2013-02-16T15:27:46.707 に答える