JavaFX-如何从其他类向与StringProperty绑定的TextArea添加ChangeListener

理查德·K

我有一个主类,其中有TextArea,它显示程序的一些日志。看起来像这样:

@FXML
private TextArea eventLog;

我需要从其他类(场景)访问它,因此它与StringProperty绑定,如下所示:

eventLog.textProperty().bind(LogInfo.logDataProperty());

LogInfo看起来像这样:

public class LogInfo {

private static StringProperty logData = new SimpleStringProperty();

public static void setLogData(String data) {
        logData.set(getLogData() + data);
    }

}

setLogData基本上是复制已经存储在TextArea eventLog上的所有信息,并添加新行。一切正常,但是我的问题来了:

显示新信息时,TextArea不滚动。我需要像这样将ChangeListener添加到eventLog textArea中:

eventLog.textProperty().addListener(new ChangeListener<Object>() {
        @Override
        public void changed(ObservableValue<?> observable, Object oldValue,
                Object newValue) {
            eventLog.setScrollTop(Double.MAX_VALUE); 
        }
    });

这是行不通的,因为信息是通过setLogData从LogInfo类添加的,而不是直接从eventLog TextArea添加的。因此,我需要在LogInfo类上实现ChangeListener,但是问题是我无法从LogInfo类控制eventLog TextArea。有什么办法可以从此类中进行类似反向绑定的操作吗?

Wojtek Owczarczyk

将侦听器直接绑定到LogInfo属性,而不是将其绑定到TextArea属性:

Main.logDataProperty().addListener((observable, oldValue, newValue) -> {
            textArea.setScrollTop(Double.MAX_VALUE);
        });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaFX绑定StringProperty和IntegerProperty

来自分类Dev

JavaFX HTMLEditor:如何实现ChangeListener?

来自分类Dev

如何在其他类中运行 JavaFX 窗口

来自分类Dev

其他类中的JavaFX NullPointerException Button

来自分类Dev

JavaFX:使用 StringProperty 和 ChangeListener 根据 TimerTask 定期更新标签

来自分类Dev

javaFX:如何创建实时ListView并向其中添加ChangeListener

来自分类Dev

多个StringProperty的Javafx串联

来自分类Dev

JavaFX:运行ChangeListener

来自分类Dev

如何向 JavaFX 图表添加辅助图例?

来自分类Dev

JavaFX TableView 如何向列添加项目?

来自分类Dev

向JavaFX ContextMenu添加标题

来自分类Dev

如何显示行数textarea javafx

来自分类Dev

JAVAFX使动态textArea大小

来自分类Dev

JavaFX TextArea右对齐

来自分类Dev

使javafx textArea的背景清晰

来自分类Dev

JavaFX TextArea立即更新

来自分类Dev

Textarea javaFx颜色

来自分类Dev

javafx TextArea抛出NullPointerException

来自分类Dev

是否可以在JavaFX中将StringProperty绑定到POJO的String?

来自分类Dev

JavaFX绑定简单示例

来自分类Dev

JavaFX ComboBox绑定

来自分类Dev

绑定JavaFX中的对象

来自分类Dev

JavaFx ComboBox绑定混乱

来自分类Dev

JavaFX按钮绑定异常

来自分类Dev

JavaFX:绑定到插入

来自分类Dev

JavaFX:CellValueFactory绑定

来自分类Dev

JavaFX:与表示模型的绑定

来自分类Dev

Javafx贪婪绑定

来自分类Dev

JAVAFX按钮动作来调用其他类的函数