我希望每隔一段时间更新对象属性(调用rest服务)。
我有一个对象定义和一个带有new和set的类
public class Obj {
private String data;
//Getters and setters
}
//A class with the new and sets:
Public class setData{
public setData{
Obj o = new Obj();
o.setdata("hello");
}
TimerTask timerTask = new MyTimerTask();
Timer timer = new Timer(true);
timer.scheduleAtFixedRate(timerTask, 0, 10*1000);
}
public class MyTimerTask extends TimerTask {
@Override
public void run() {
/*
Here is the question. How can I update the data property of my object?
I need to call the rest service, and update. The data string is on a
swing UI.
*/
}
}
以下是问题所在。如何更新对象的数据属性?我需要调用rest服务,并进行更新。数据字符串位于swing UI上。
谢谢!
发布于 2018-06-24 06:24:00
为了从TimerTask
中更新组件,您的任务必须具有对这些组件的引用。实现这一点的一种方法是向任务中添加一个构造函数,以便使用要操作的对象对其进行初始化。
下面是一个通用示例:
public class MyComponent {
private int data;
// getters / setters
}
public class MyTimerTask extends TimerTask {
private final MyComponent myComponent;
public MyTimerTask(MyComponent myComponent) {
super();
this.myComponent = myComponent;
}
@Override
public void run() {
// here you can access your component's data value
int val = this.myComponent.getData();
// do whatever you need to
}
}
https://stackoverflow.com/questions/51005479
复制相似问题