作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 Task
发送 int,但方法 updateMessage
只允许 String
。我尝试转换 .toString()
但 IDE 发送错误“无法解析符号”。
有什么办法吗?为什么我不能在 Task
中使用 .toString()
?
bkgTimer = new Service<Void>() {
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
int count = 0;
while (play){
count++;
updateMessage(count.toString());//Cannot resolve symbol
if (isCancelled()) {
break;
}
Thread.sleep(1000);
}
return null;
}
};
}
};
bkgTimer.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent event) {
chronoLabel.textProperty().unbind();
}
});
chronoLabel.textProperty().bind(bkgTimer.messageProperty());
提前致谢..
最佳答案
编译错误与您位于Task
中这一事实无关。问题是您无法从原始类型(例如 int
、double
、boolean
等)调用方法。只能调用引用类型(即对象)有方法,类可以定义静态方法。
因此,请使用静态 toString(int)
Integer
类中的方法:
updateMessage(Integer.toString(count));
关于java - 如何从 JavaFx 中的任务发送 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33126447/
我是一名优秀的程序员,十分优秀!