如何在JavaFX和Java 8中禁用TextArea Auto Scroll?

时间:2016-12-12 07:43:28

标签: java javafx java-8 javafx-8

我想在javaFx中禁用TextArea的自动滚动,因为当我向TextArea添加文本时滚动向下移动,我不想在TextArea中自动滚动滚动条,如果我添加文本滚动应该是选择的位置。(例如,如果用户正在读取中间线,如果添加文本它自动下降,那么再次用户需要将滚动移动到中间线)。因此,我想在JavaFx中禁用TextArea中的Auto Scroll。

Students

以下是参考链接: - please check this link

Please Check this link also

1 个答案:

答案 0 :(得分:0)

来自How can I hide the scroll bar in TextArea?:

删除水平滚动条

textArea.setWrapText(true);

删除垂直滚动条

ScrollBar scrollBarv = (ScrollBar)ta.lookup(".scroll-bar:vertical");
scrollBarv.setDisable(true);

<强> CSS

.text-area .scroll-bar:vertical:disabled {
    -fx-opacity: 0;
}

示例:

public class Test2 extends Application {

public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) {
    TextArea textArea = new TextArea("This is my message");
    textArea.setWrapText(true);
    String css = this.getClass().getResource("/ta.css").toExternalForm();
    textArea.getStylesheets().add(css);
    primaryStage.setScene(new Scene(textArea));
    primaryStage.show();
    ScrollBar scrollBar = (ScrollBar) textArea.lookup(".scroll-bar:vertical");
    scrollBar.setDisable(true);

}

}