2016-11-01 8 views
-4

問題:次のキャプチャイメージのようにUnicode文字を表示したいJavaコードがあります。私はSystem.out.printlnで表示に成功しましたが、Javaのスイングではキャラクターを表示できませんでした。Java SwingでUnicode文字を表示する方法

質問:JTextPaneでUnicode文字を表示して感情を確認するにはどうすればよいですか?

Capture Image

コード

private void initialize() { 
    frame = new JFrame(); 
    frame.setBounds(100, 100, 450, 300); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    JTextPane textPane = new JTextPane(); 
    System.out.println(String.valueOf("\u2622")); 
    textPane.setContentType("text/html"); 
    textPane.setText("c'est " + String.valueOf("\u2622")); 
    frame.getContentPane().add(textPane, BorderLayout.CENTER); 
} 
+1

画像を投稿_and_コード、画像ではありません。 – trashgod

+0

興味のある文字を表示できる 'Font'を必ず使用してください!そのためには、[this answer](http://stackoverflow.com/a/18858313/418556)にあるように、 'font.canDisplay(codePoint)'を使うことができます。 –

答えて

2

あなたのコードは、私の知る限り、あなただけのpack()と最後の行でsetVisible(true)に必要な、正常に動作します:

private void initialize() { 
    frame = new JFrame(); 
    frame.setBounds(100, 100, 450, 300); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    JTextPane textPane = new JTextPane(); 
    System.out.println(String.valueOf("\u2622")); 
    textPane.setContentType("text/html"); 
    textPane.setText("c'est " + String.valueOf("\u2622")); 
    frame.getContentPane().add(textPane, BorderLayout.CENTER); 
    frame.pack();   // Add these 
    frame.setVisible(true); // two lines 
} 

これはJTextPaneを期待通りに表示します。

+0

申し訳ありませんが、私はあなたの助けに感謝しますが、私はあなたの2行を追加しましたが、鉄鋼私の問題を解決しないように私はjtextpaneでこのcaractereを表示しないようにcaratere Unicode☢= \ u2622 jtextpaneを表示したいと思います。これは、このように表示されているときにはわからないカラクレアです。 コード番号 – achrefkh

+0

心配する必要はありません。私はあなたを助けてくれることを嬉しく思っています。 'setContentType'で行を' textPane.setContentType( "text/html; charset = UTF-8"); ' – davedwards

+0

に変更してみてください。うまくいきましたが、このような別のcaractere Unicodeを試してみると、\ u1F604は表示されません私の結果。 □4そうですね。だから、私はUTF-8をUTF-16に変更しようとしましたが、スチールは動作しません。どうすれば問題を解決できますか? – achrefkh

関連する問題