2017-03-21 10 views
0

textlayoutオブジェクトを使用してテキストのサイズを知る必要があります。 私はコードは私が必要とするので、テキストdeprecated impl_getNativeFontメソッドを使用しないでTextLayoutを使用する方法

の高さであることを知って、私は廃止されるようだgetNativeFontに関する警告メッセージを持っている以外正常に動作しているコード

final TextLayout LAYOUT = Toolkit.getToolkit().getTextLayoutFactory().createLayout(); 
LAYOUT.setContent(text != null ? text : "", font.impl_getNativeFont()); 
LAYOUT.setLineSpacing(1.0f); 
LAYOUT.setWrapWidth(100.0f); 
LAYOUT.setBoundsType(TextLayout.BOUNDS_CENTER); 
return LAYOUT.getBounds().getHeight(); 

次の束を見つけました私の質問:適切な方法は何ですか?

ありがとうございます!

+0

TextLayoutのは 'com.sun.javafx.scene.text'クラスです。 'com.sun.javafx'パッケージのAPIまたはクラスは、公開されているAPIではないため、将来のJavaバージョンで使用できることは保証されていません。 TextLayoutを使用することは他に選択肢がない場合や、アプリケーションが実行するJavaFXランタイムのバージョンを制御してアプリケーションと互換性があることを確認しない限り、実際には使用しないことをお勧めします。 – jewelsea

+0

あなたは[JavaFXの文字列のピクセル幅を計算するには?](http://stackoverflow.com/questions/13015698/how-to-calculate-the-pixel-width-of- a-string-in-javafx)、それがあなたのために働くかどうか確認してください。 – jewelsea

答えて

0

はそれが私のために働いている、

ありがとう:

Text theText = new Text(theLabel.getText()); 
theText.setFont(theLabel.getFont()); 
double width = theText.getBoundsInLocal().getWidth(); 
関連する問題