繁体   English   中英

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

[英]How to Disable TextArea Auto Scroll in JavaFX and Java 8?

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

javafx.application.Platform.runLater( new Runnable() {
  @Override
  public void run() {
  logTextArea.appendText("I am adding text here to TextArea"+"\n");// Adding the text to logTextArea
   }
});

以下是参考链接: - 请查看此链接

请检查此链接

如何隐藏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);

}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM