HOWTO · JavaFX

JavaFX のカラーテキストフィールドテキスト

このチュートリアルでは、JavaFX でテキストフィールドテキストに色を付ける方法を示します。

このページの内容

Textfield は、JavaFXUI コンポーネントの基本要素です。このコンポーネントを通じて、ユーザー入力をシステムに取り込むことができます。

setStyle() メソッドを使用した CSS プロパティの直接実装を使用して、この Textfield のスタイルを設定できます。外部 CSS ファイルを提供することにより、これらの CSS プロパティを含めることもできます。

この記事では、JavaFX で Textfield を作成し、この Textfield のテキストに色を付ける方法を説明します。また、理解しやすいように、このトピックに関する説明付きの例も示しています。

JavaFX の色 Textfield テキスト

以下の例では、Textfield を作成し、そのテキストの色を赤に設定します。この例のコードは次のようになります。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class FXTextfield extends Application {
  public void start(Stage PrimaryStage) {
    PrimaryStage.setTitle("TextField text color"); // Providing a title to our application
    TextField txt = new TextField(); // Creating a text field
    StackPane stkpn = new StackPane(); // Creating a stackpane
    stkpn.getChildren().add(txt); // Adding text field to the stackpane
    txt.setStyle("-fx-text-fill: red;"); // Setting the text color to red

    Scene scene =
        new Scene(stkpn, 200, 100); // Creating a scene with stackpane and dimention of  200x100
    PrimaryStage.setScene(scene); // Creating the stage with the scene
    PrimaryStage.show(); // Visualizing the stage
  }

  public static void main(String args[]) {
    launch(args); // Launching the application
  }
}

各行の目的については、すでにコメントしています。ここで、トピックのコア部分について説明します。

txt.setStyle("-fx-text-fill: red;"); という行を使用して、CSS プロパティ -fx-text-fillred に設定します。メソッド setStyle() を使用しました。

上記のサンプルコードをコンパイルしてご使用の環境で実行すると、以下の出力が得られます。

JavaFX のカラーテキストフィールドテキスト

Textfield テキストの色を変更する別の方法

JavaFX は、FXML で動作する CSS をサポートしています。これで、Oracle が提供する Scene Builder などの JavaFXGUI 構築ツールを使用してユーザーインターフェイスを設計するときに、UI の開発中に CSS プロパティを使用してテキストの色を簡単に定義できます。

また、以下のプロパティを追加できる CSS ファイルを追加することもできます。

-fx-text-fill: red;

以下のコードを使用して、CSS ファイルをコードに直接含めることができます。

scene.getStylesheets().add("YourCSS.css")

IDE がライブラリとパッケージの自動インクルードをサポートしていない場合は覚えておいてください。次に、コンパイルする前に、これらの必要なライブラリとパッケージを手動で含める必要がある場合があります。