0

私はこのクラスを持っていて、テキスト フィールドにカスタム フォントを表示しようとしていますが、実行すると、フォントは非常に2px小さくなります。実行するfont = new Font("sans-serif", Font.PLAIN, 24);と、適切なフォントサイズで問題なく表示されます。

これは次のようになります。

小さな

使うだけだとこんな感じfont = new Font("sans-serif", Font.PLAIN, 24);

大きい

カスタム フォントで小さなテキスト ボックスが表示される原因は何ですか?

public class Search extends JTextField{

    public Search(int width){
        super(width);

        Font font;
        String filename = "/media/fonts/SourceCodePro-Light.ttf";

        try{
            InputStream is = this.getClass().getResourceAsStream(filename);
            font = Font.createFont(Font.TRUETYPE_FONT, is);
            font = font.deriveFont(24);
        }catch(FontFormatException | IOException ex){
            font = new Font("sans-serif", Font.PLAIN, 24);
        }

        this.setFont(font);

    }
}
4

1 に答える 1

1

font.deriveFontには、よく似たオーバーロードされた 2 つの形式があります。1 つintはフォント スタイルを設定し、もう 1 つfloatはフォント サイズを設定します。intバージョンではなくバージョンを呼び出していfloatます。に変更24すると24.0f、動作します

于 2013-07-20T21:56:21.057 に答える