텍스트 영역의 텍스트 노드에 -fx-text-alignment
property을 설정해야합니다. 다음 외부 CSS 파일에 당신이 그런
.text-area:centered .text {
-fx-text-alignment: center ;
}
을 수행 할 수 있습니다 할 수
PseudoClass centered = PseudoClass.getPseudoClass("centered");
과 :
동적으로이 작업을 수행하는 가장 좋은 방법은 텍스트 영역에 대한 사용자 정의 CSS의 pseudoclass을 정의하는 것입니다
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);
}
}
내가 넷빈즈는 IDE입니다 넷빈즈 –
당신이 scenebuilder 사용하고,하지만 난 알고 싶어처럼 당신이 scenebuiler를 사용했다 fx 응용 프로그램의 스타일을 지정하기 위해 응답을주었습니다. 도움이되는지 확인하십시오. – Cardano
을 사용하고 –