最近遇到一个很烦的问题,搞了很久搞不定,想请各位帮忙,看看有没有解决的办法,我建了个JavaFx应用程序,Main里面要监测一个Java线程中的一个变量的变化,并把变化呈现出来,我搞了很久也没搞定...
[code="java"]
var output = Group {
content: Text{
x : 550
y : 143
content: bind OutputInfo.getIntance().outputInfo
font:Font{
size:30
}
}
}
[/code]
这是Main.fx里面的一小段代码,里面的content内容是绑定到另一个类中的变量
[code="java"]
public class OutputInfo {
public String outputInfo;
private static OutputInfo outputInstance = new OutputInfo("Output:");
OutputInfo(String outputInfo){
this.outputInfo = outputInfo;
}
public static OutputInfo getIntance() {
return outputInstance;
}
}
[/code]
这里就是需要监测的变量outputInfo
我有一个线程,在运行之中把outputInfo改变了
[code="java"]
public void run() {
DBSession db1 = new DBSession();
DBSession db2 = new DBSession();
//设置隔离级别 1为 TRANSACTION_READ_UNCOMMITTED 2为 TRANSACTION_READ_COMMITTED 4为 TRANSACTION_REPEATABLE_READ 8为 TRANSACTION_SERIALIZABLE
db1.setIsolationLevel(value);
db2.setIsolationLevel(value);
db1.setIsAutoCommit(false);
db2.setIsAutoCommit(false);
String sql1 = "UPDATE example SET VALUE=2 WHERE id=1";
String sql2 = "UPDATE example SET VALUE=1 WHERE id=2";
String sql3 = "UPDATE example SET VALUE=2 WHERE id=2";
String sql4 = "UPDATE example SET VALUE=1 WHERE id=1";
OutputInfo.getIntance().outputInfo = db1.executeUpdate(sql1);
OutputInfo.getIntance().outputInfo = db2.executeUpdate(sql2);
OutputInfo.getIntance().outputInfo = db1.executeUpdate(sql3);
OutputInfo.getIntance().outputInfo = db2.executeUpdate(sql4);
db1.rollback();
db2.rollback();
db1.close();
db2.close();
[/code]
我这上面的executeUpdate方法会返回操作是否成功的信息,并把信息赋给OutputInfo中的outputInfo
我自己感觉我应该写的没错,但是为什么不起作用呢,有没有那个大牛帮忙解决一下困惑,感激不尽!
不一定非要按照我的思路来想办法,其他的办法也行,总之,JavaFx中怎么监测Java类中变量的变化呢?