Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaFXでテキストノードの行間隔を調整する方法

JavaFXでテキストの行間隔を設定するには

javafx.scene.text.TextクラスのlineSpacingプロパティは、テキストノード内の行と行の間隔(行間)を垂直方向に指定します。このプロパティに値を設定することで、テキストの読みやすさを自由にコントロールできます。

行間を設定するには、setLineSpacing()メソッドを使用します。このメソッドはdouble型の値(ピクセル単位のスペース量)を引数として受け取り、指定された間隔を行と行の間に適用します。

サンプルコード

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Scanner;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
public class TextSpacing extends Application {
    public void start(Stage stage) throws FileNotFoundException {
       // テキストファイルの内容を読み込む
       InputStream inputStream = new FileInputStream("D:\\sample_text.txt");
       Scanner sc = new Scanner(inputStream);
       StringBuffer sb = new StringBuffer();
       while(sc.hasNext()) {
           sb.append(" "+sc.nextLine()+"\n");
       }
       // Textオブジェクトを作成
       Text text = new Text(10.0, 25.0, sb.toString());
       // テキストの折り返し幅を設定
       text.setWrappingWidth(565);
       // 文字揃えを両端揃え(JUSTIFY)に設定
       text.setTextAlignment(TextAlignment.JUSTIFY);
       // 行間を2.0に設定
       text.setLineSpacing(2.0);
       // ステージを設定して表示
       Group root = new Group(text);
       Scene scene = new Scene(root, 595, 150, Color.BEIGE);
       stage.setTitle("Line Spacing (2.0)");
       stage.setScene(scene);
       stage.show();
    }
    public static void main(String args[]){
       launch(args);
    }
}

入力ファイル(sample_text.txt)の内容

ここでは、読み込むテキストファイルの内容が以下であると仮定します。

Tutorials Point originated from the idea that there exists a class of readers who respond better 
to online content and prefer to learn new skills at their own pace from the comforts of their drawing rooms.
The journey commenced with a single tutorial on HTML in 2006 and elated by the response it generated, 
we worked our way to adding fresh tutorials to our repository which now proudly flaunts a wealth of 
tutorials and allied articles on topics ranging from programming languages to web designing to academics 
and much more.

実行結果

上記のプログラムを実行すると、行間隔が2.0に設定された状態でテキストが表示され、次のようなウィンドウが出力されます。

JavaFXでテキストノードの行間隔を調整する方法

同様に、setLineSpacing()メソッドの引数を8.0に変更して実行すると、行間が広がり、以下のように表示されます。

JavaFXでテキストノードの行間隔を調整する方法

このように、数値を大きくするほど行間が広くなり、小さくするほど行が詰まって表示されます。用途に応じて適切な行間隔を設定しましょう。

  1. JavaFXでスライダー(Slider)を作成する方法をわかりやすく解説

    JavaFXのSliderクラスとはJavaFXには、Sliderと呼ばれるクラスが標準で用意されています。このクラスは、連続的な範囲の値を表示・選択できるスライダーコンポーネントを表します。スライダーは、数値が表示される「トラック」と、その上を移動して値を指し示す「つまみ(サム)」で構成されています。コンストラクタやプロパティを通じて、スライダーの最大値・最小値・初期値を自由に指定することが可能です。スライダーの作成手順JavaFXでスライダーを作成する基本の手順は以下の通りです。Sliderクラスをインスタンス化する — 最小値・最大値・初期値を引数に指定できます。必要なプロパティを設定す

  2. 【Python】Tkinterのテキストウィジェットでテキストを強調表示する方法

    TkinterのTextウィジェットを使うと、複数行にわたるユーザー入力を受け付けることができます。テキストの挿入や情報の表示はもちろん、ウィジェットから出力を取得することも可能です。テキストウィジェット内の特定のテキストを強調表示したい場合は、tag_add()メソッドを使用します。このメソッドを使うと、指定した範囲のテキストにだけタグを追加できます。さらにtag_configure()メソッドと組み合わせれば、背景色や文字色などタグの見た目を自由にカスタマイズできます。コード例# 必要なライブラリをインポート from tkinter import * # tkinterフレームのインス