最近做项目需要用javafx做一个桌面程序。
现在需要用javafx实现界面刷新,我是这么实现的。
package sample;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.text.Text;
import testJNADLL.testJNA;
import testJNADLL.testJNADll;
import javafx.application.Platform;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
public class Controller {
@FXML
private Button btn1;
@FXML
private TextField text1;
@FXML
public void onclick(ActionEvent even)throws IOException{//onclick是绑定的按钮的事件
// System.out.println("按钮被点击");
Timer timer = new Timer();//先new一个定时器
timer.schedule(new TimerTask() {
@Override
public void run() {
Platform.runLater(new Runnable() {
@Override
public void run() {//我测试的是自动更新一个函数结果
//这一块设置更新的代码
int result = 0;
result = testJNADll.INSTANCE.add();
text1.setText(String.valueOf(result));
}
});
}
},100,500);//定时器的延迟时间及间隔时间,不要设置太小
}
}
testJNADll是我要实现用java读取dll写的测试的例子,原dll函数是返回两个随机数的和。图片可能需要等上几秒钟才会刷新。
最后显示结果为: