JavaFX:在textArea中设置文本后,在单独的线程中设置滚动到底部
发布时间:2020-12-15 00:44:52 所属栏目:Java 来源:网络整理
导读:我创建了一个 JavaFX应用程序,我用一个后台进程更新日志.所以我在TextArea中设置日志文本,并使用logs.setScrollTop(Double.MAX_VALUE)设置滚动到底部.但滚动条从底部设置为一点点. 我还在ScrollPan中尝试了TextFlow,并使用logDisplay.setVvalue(1.0)将滚动设
我创建了一个
JavaFX应用程序,我用一个后台进程更新日志.所以我在TextArea中设置日志文本,并使用logs.setScrollTop(Double.MAX_VALUE)设置滚动到底部.但滚动条从底部设置为一点点.
我还在ScrollPan中尝试了TextFlow,并使用logDisplay.setVvalue(1.0)将滚动设置为bottom.它也给出了相同的结果. Platform.runLater(() -> { logs.setText([setting log text]);//TextArea logs logs.setScrollTop(Double.MAX_VALUE)); }); //For TextFlow inside ScrollPane Platform.runLater(() -> { logs.setText([setting log text]);//Text logs logDisplay.setVvalue(1.0); }); 我也尝试在单独的线程中运行代码 new Thread() { public void run(){ System.out.println("called set test"); logs.setText([setting log text]);//Text logs logDisplay.setVvalue(1.0); } }.start(); 但没有任何工作:( – 编辑 – 解决方法
我不知道这个问题的实际问题,但我找到了另一种解决方案.
我正在使用文本长度在文本末尾设置插入符号的位置. logs.setText(logText); logs.positionCaret(logText.length()); 它对我有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |