Javafx-layout-panes-textflow

提供:Dev Guides
移動先:案内検索

JavaFX-レイアウトペインテキストフロー

このレイアウトを使用すると、1つのフローに複数のテキストノードを設定できます。 パッケージ javafx.scene.layouttextFlow という名前のクラスは、テキストフローを表します。

このクラスは、2つのプロパティを提供します-

  • lineSpacing -このプロパティはdouble型であり、テキストオブジェクト間のスペースを定義するために使用されます。 * setLineSpacing()*という名前のメソッドを使用して、このプロパティを設定できます。
  • textAlignment -このプロパティは、ペイン内のテキストオブジェクトの配置を表します。 メソッド* setTextAlignment()*を使用して、このプロパティに値を設定できます。 このメソッドには、CENTER、JUSTIFY、LEFT、RIGHTの4つの値を渡すことができます。

次のプログラムは、テキストフローレイアウトの例です。 ここでは、フォント15とさまざまな色の3つのテキストオブジェクトを作成しています。 次に、行の間隔が 15 であるときに、整列値- Justify でテキストフローペインに追加します。

このコードを TextFlowExample.java という名前のファイルに保存します。

import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;

public class TextFlowExample extends Application {
   @Override
   public void start(Stage stage) {
     //Creating text objects
      Text text1 = new Text("Welcome to finddevguides ");

     //Setting font to the text
      text1.setFont(new Font(15));

     //Setting color to the text
      text1.setFill(Color.DARKSLATEBLUE);

      Text text2 = new Text("We provide free tutorials for readers in
      various technologies  ");

     //Setting font to the text
      text2.setFont(new Font(15));

     //Setting color to the text
      text2.setFill(Color.DARKGOLDENROD);
      Text text3 = new Text("\n Recently we started free video tutorials too ");

     //Setting font to the text
      text3.setFont(new Font(15));

     //Setting color to the text
      text3.setFill(Color.DARKGRAY);

      Text text4 = new Text("We believe in easy learning");

     //Setting font to the text
      text4.setFont(new Font(15));
      text4.setFill(Color.MEDIUMVIOLETRED);

     //Creating the text flow plane
      TextFlow textFlowPane = new TextFlow();

     //Setting the line spacing between the text objects
      textFlowPane.setTextAlignment(TextAlignment.JUSTIFY);

     //Setting the width
      textFlowPane.setPrefSize(600, 300);

     //Setting the line spacing
      textFlowPane.setLineSpacing(5.0);

     //Retrieving the observable list of the TextFlow Pane
      ObservableList list = textFlowPane.getChildren();

     //Adding cylinder to the pane
      list.addAll(text1, text2, text3, text4);

     //Creating a scene object
      Scene scene = new Scene(textFlowPane);

     //Setting title to the Stage
      stage.setTitle("text Flow Pane Example");

     //Adding scene to the stage
      stage.setScene(scene);

     //Displaying the contents of the stage
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。

javac TextFlowExample.java
java TextflowExample

実行時に、上記のプログラムは以下に示すようにJavaFXウィンドウを生成します。

TextFlow