テキスト領域のテキストノードに-fx-text-alignment
propertyを設定する必要があります。
動的にこれを行うための最善の方法は、テキストエリアにカスタムCSS疑似クラスを定義することです:
PseudoClass centered = PseudoClass.getPseudoClass("centered");
してから、外部CSSファイルで、あなたはあなたができるその後
.text-area:centered .text {
-fx-text-alignment: center ;
}
を行うことができます上の中心に切り替えること
textArea.pseudoClassStateChanged(centered, true);
を呼び出し、
textArea.pseudoClassStateChanged(centered, false);
スイッチをオフにします。ここで
はSSCCE(
centering-text-area.css
上記CSSコードを置く)です:
import javafx.application.Application;
import javafx.css.PseudoClass;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class TextAreaWithCentering extends Application {
@Override
public void start(Stage primaryStage) {
TextArea textArea = new TextArea();
PseudoClass centered = PseudoClass.getPseudoClass("centered");
ToggleButton center = new ToggleButton("Center");
center.selectedProperty().addListener((obs, wasCentered, isNowCentered) ->
textArea.pseudoClassStateChanged(centered, isNowCentered));
BorderPane.setAlignment(center, Pos.CENTER);
BorderPane.setMargin(center, new Insets(5));
BorderPane root = new BorderPane(textArea, null, null, center, null);
Scene scene = new Scene(root, 600, 600);
scene.getStylesheets().add("centering-text-area.css");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
私はNetBeansはIDEであるNetBeansの –
あなたはscenebuilder使用していますが、私は知りたいと思ったようにあなたがscenebuilerを使用していましたfxアプリケーションをスタイリングするために、私は答えを出しました。どうすれば助けてくれるのか確認してください。 – Cardano
を使用してい –