Я использовал BorderPane
вместо AnchorPane
и не использовал fxml
файл.Вот мой код и после кода снимок экрана.Как вы можете видеть, установка ориентации узла только для TextArea
не меняет расположение полосы прокрутки на ScrollPane
.
import javafx.application.Application;
import javafx.geometry.NodeOrientation;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.scene.control.ScrollPane.ScrollBarPolicy;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class FxTest00 extends Application {
@Override
public void start(Stage stage) throws Exception {
TextArea txtAr = new TextArea("myxomatosis");
txtAr.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
ScrollPane scrollPane = new ScrollPane(txtAr);
scrollPane.setVbarPolicy(ScrollBarPolicy.ALWAYS);
BorderPane root = new BorderPane();
root.setCenter(scrollPane);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
РЕДАКТИРОВАТЬ (после первоначального комментария Ray_White к моему ответу)
Полоса прокрутки, на которую вы ссылаетесь (в своем комментарии), является частью TextArea
и не связана с родительским элементом ScrollPane
.В приведенном ниже коде TextArea
добавляется непосредственно к BorderPane
, т.е. приведенный ниже код не содержит ScrollPane
.
. Как я обнаружил, для удаления вертикальной полосы прокрутки TextArea
используется *Стиль 1024 *.Я создал файл CSS с именем scrolbar.css
.Вот его содержание:
.text-area .scroll-pane {
-fx-vbar-policy: never;
}
А вот модифицированный код, включая ваше предложение добавить текст к TextArea
для принудительной прокрутки.
import javafx.application.Application;
import javafx.geometry.NodeOrientation;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class FxTest00 extends Application {
@Override
public void start(Stage stage) throws Exception {
TextArea txtAr = new TextArea("myxomatosis");
txtAr.appendText("\n");
txtAr.appendText("One");
txtAr.appendText("\n");
txtAr.appendText("Two");
txtAr.appendText("\n");
txtAr.appendText("Three");
txtAr.appendText("\n");
txtAr.appendText("Four");
txtAr.appendText("\n");
txtAr.appendText("Five");
txtAr.appendText("\n");
txtAr.appendText("Six");
txtAr.appendText("\n");
txtAr.appendText("Seven");
txtAr.appendText("\n");
txtAr.appendText("Eight");
txtAr.appendText("\n");
txtAr.appendText("Nine");
txtAr.appendText("\n");
txtAr.appendText("Ten");
txtAr.appendText("\n");
txtAr.appendText("Eleven");
txtAr.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
BorderPane root = new BorderPane();
root.setCenter(txtAr);
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("scrolbar.css").toString());
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
А вот экранзахват измененного графического интерфейса.Как видите, полоса прокрутки отсутствует.