(翻訳)第8回JavaFX 200.ラベルLabel


原文の住所http://download.oracle.com/javafx/2.0/ui_control/label.httm
  Label クラスはJavaFX APIのにあります.  javafx.scene.control カバンの中で、それは継承されました.  Labeled クラスですLabel クラスでテキスト要素を表示します.テキストを改行して、特定のサイズの空間に合わせてもいいし、画像を入れてもいいです.
Figur 2-1は三つのラベルの一般的な使い方を示しています.左は画像付きのテキスト要素で、中央は回転後のテキスト、右は改行テキストです.
 
Figure 2-1 Sample Apple Apple with Labels
Description of「Figre 2-1 Sample Apple Apple With Labels」 
 
Labelを作成
JavaFX APIは3つのLabelを提供している. クラスの構造方法でラベルを作成します.コードExample 2-1を参照してください.
Example 2-1 Creating Labels
//   
Label label1 = new Label();
//      
Label label2 = new Label("Search");
//      
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
Label label3 = new Label("Search", new ImageView(image));
ラベルを作成したら、下のLabeledを使ってもいいです. クラスの方法でテキストと画像の内容を追加します.
  setText(String text) – ラベルにタイトルを指定します.setGraphic(Node graphic) – アイコンを指定するsetTextFill 。  Example 2-2:まずテキストラベルを作成し、アイコンを追加し、テキストの塗りつぶし色を指定します.
 
Example 2-2 Adding an Icon and Text Fill to a Label
Label label1 = new Label("Search");
Image image = new Image(getClass().getResourceAsStream("labels.jpg"));
label1.setGraphic(new ImageView(image));
label1.setTextFill(Color.web("#0076a3"));
 
このコードをプログラムに加えると、ラベルが生まれます.Figur 2-2.
Figure 2-2 Label with Icon
Description of「Figur 2-2 Label with Icon」 
ボタンにテキストと画像の内容を定義する場合、setGraphicTextGapを使用することができます. 方法は間に空白を生じる.
また、ラベルのレイアウト設定領域にsetTextAlignmentを使用しても良い. ラベルの位置を変えます.setContentDisplayを通してもいいです. 方法は、画像のためのテキストの相対位置を定義し、次のいずれかのContentDisplay :を指定する.  LFFT , RIGHT ,  CENTER ,  TOP ,  BOTTOM .
フォントの設定
Figure 2-1とFigure 2-2の検索タグを比較します.Figur 2-1のタグは大きいフォントです.これは、Example 2-2のコードブロックがラベルにフォントを指定していないため、デフォルトのテキストサイズによってレンダリングされています.
使用するLabeled クラス  setFont この方法は、ラベルの標準値とは異なるテキストサイズを提供します.Example 2-3のコードブロックは、label 1の文字サイズを30番に設定し、フォント名はArialとします.Label 2に設定されているのは32号とCambiriaフォントです.
Example 2-3 Apple Font Settings
//Use a constructor of the Font class
label1.setFont(new Font("Arial", 30));
//Use the font method of the Font class
label2.setFont(Font.font("Cambria", 32));
テキストを改行する
ラベルを作成した後、テキストをこれより小さいラベルに合わせる必要があります.このときは、テキストを中断する必要があります(改行).レイアウト領域に合わせるために、setWrapTextです. 方法はtrue値を設定すればいいです.Example 2-4を参照してください
Example 2-4 Enbale Text Wrapping
Label label3 = new Label("A label that needs to be wrapped");
label3.setWrapText(true);
label 3をプログラムに加えると、Figure 2-3.
Figur 2-3 Label with Wrapped Text
Description of「Figur 2-3 Label with Wrapped Text」 
しかし、ラベルのレイアウトエリアが幅だけでなく、高さも制限されていますか?ラベルがすべてのテキスト列をレンダリングすることができない場合、挙動を指定できます.使用するLabeled クラスのsetTextOverrun 方法および OverrunStyle どのように適切な処理を定義するかは、部分的にしか表示されないテキストです.複数のAPI文書についての問い合わせOverrunStyle タイプの情報
効果を使う
ラベルは静的な内容では変更できませんが、特殊効果を適用したり、変換したりできます. Example 2-5 のコードブロックはLabel 2を270°回転させ、垂直方向は50に移動させた.
 
Example 2-5 Rotating a Label
Label label2 = new Label ("Values");
label2.setFont(new Font("Cambria", 32));
label2.setRotate(270);
label2.setTranslateY(50);
 
回転と並進は、JavaFX APIにおける典型的な変換である.また、マウスを停止させるとズーム効果(拡大)があります.Example 2-6のコードブロックは、label 3にズーム効果を適用します.ラベルのMOUSE_ENTERED イベントが励起された場合、setScaleX setScaleY この方法では、ズーム比を1.5に設定します.ユーザのマウスがラベルから離れるとMOUSE_EXITED 時間が発生し、ズーム率を1.0とすると元のサイズになります.
Example 2-6 Apple the Zoom Effect
label3.setOnMouseEntered(new EventHandler<MouseEvent>() {
    @Override public void handle(MouseEvent e) {
        label3.setScaleX(1.5);
        label3.setScaleY(1.5);
    }
});

label3.setOnMouseExited(new EventHandler<MouseEvent>() {
    @Override public void handle(MouseEvent e) {
        label3.setScaleX(1);
        label3.setScaleY(1);
    }
});
Figure 2-4   Label 3の二つの状態を示した.
Figre 2-4 Zooming a Label
Description of「Figre 2-4 Zooming a Label」