2011-11-30 9 views
5

オーバーライドpaintComponent(Graphics g)メソッドを持つカスタムコンポーネントがいくつかあります。いくつかのコンポーネントではdrawString()メソッドからGraphics gオブジェクトが使用されます。 そのような描画された文字列にカスタムフォントを定義したいと思います。スウィング作成フォント

TrueTypeフォントを定義した* .ttfファイルがあります。私は私のJavaクラスのCSSからのすべてのプロパティを定義するか、多分必要はないCSS-ファイルから直接スタイルを使用する方法(あり

.rosTexLogoTitle { 
    -fx-font: bold 20pt 'Tahoma Bold'; 
    -fx-text-fill: #246db6; 
    -fx-font-weight: heavybold; 
    -fx-padding: 0 10 0 0 

: 私のようなフォントを定義し、スタイルクラスとCSSファイルを持っています)。

私は地図のパラメータを持つコンストラクタでフォントを作成しようとしました:

public Font(Map<? extends Attribute, ?> attributes) { 
} 

しかし、私は成功しませんでした。 私はFont.createFont(style, path)でカスタムフォントを作成して、サイズを設定することができます。色はGraphics.setColor()に設定できます。しかし、私は 'Tahoma Bold'を設定することはできません。

+0

あなたの質問はありますか? –

+0

すべてのフォント属性を設定するにはどうすればいいですか? * .ttfからフォントを作成し、サイズを設定して設定し、グラフィックスに色を設定しますか?フォントウェイトを設定するには?家族を設定する方法?どのように属性のマップを取るフォントコンストラクタで動作する? もう1つの質問は、このテキストをスムージングすることですが、別の質問mbを作成することを意味しますか? –

+0

私は「あなたの質問は何ですか?」と尋ねたとき* 5つの質問とは対照的に、**は**の質問を意味しました。あなたのお気に入りを選んでください。 –

答えて

2

uはすべてのOSのフォントを取得)(sun.awt.Win32GraphicsEnvironment.getAvailableFontFamilyNamesを使用することができますか家族;これらは単に正しい.ttfファイルを選択するために使用されます。

解決策は、最初に正しい.ttfファイルを使用することです。たとえば、フォントファミリーArialは4つのファイルで構成されます。

arialbd.ttf - Weight "Bold" 
arialbi.ttf - Weight "Bold", Slant "Italic" 
ariali.ttf - Slant "Italic" 
arial.ttf - Plain version 
1

あなたは.ttfファイルを持っていますか? createFontは(スタイルファイル)をuは色を設定することができ、新しいフォントを返し

あなたはフォントの太さを設定することはできません

関連する問題