1

jLabel 内にいくつかの Unicode 文字を表示しようとしています。たとえば、「華氏」の文字 (℉ または「\u2109」) を考えてみましょう。この文字は、たまたま 11 であるデフォルトの font-size を使用した場合にのみ表示されます。font-size を変更すると、文字は空の正方形に置き換えられます。幅広いユニコード文字をサポートしていると思われるいくつかの異なるサイズといくつかの異なるフォントを試しました。Swing がこの Unicode 文字を特定のフォントサイズでしか表示しない理由を誰か教えてもらえますか?

証拠:

証拠

UI に関連するすべてのコードは、デザイナーを使用して NetBeans によって自動生成されますが、jLa​​bel にテキストを提供する方法は次のとおりです。

private void btnConvertActionPerformed(java.awt.event.ActionEvent evt) {                                           
    if(optToFarenheit.isSelected())
    {
        int tempFahr = (int)((Double.parseDouble(txtInput.getText()))
                * 1.8 + 32);
        lblResult.setText(tempFahr + " ℉");
        //lblResult.setText(tempFahr + " \u2109"); <-- Tried this too
    }
}
4

3 に答える 3

2

コンポーネントの Netbeans でフォントを変更する場合、フォント ダイアログに [デフォルト フォントからフォントを派生させる] チェックボックスがあり、それが選択されていることを確認してください。

または、新しいフォントが Unicode 文字をサポートしていることを確認する必要があります。たとえば、「Arial Unicode MS」も同様に機能するはずです (wiki ページに記載されています)/

于 2013-09-12T00:51:57.317 に答える