我有一个控制器类扩展线程,
和我的Run()方法,只需执行此操作即可。
private int con = 1;
public void Run(){
while(true){
try{
con++;
print();
catch(exception e){
system.out.prinln(e);
}
}
}
这就是问题,我需要一个print()方法来在TextField上显示“ con”。
我有一个frmMain.fxml和frmMainController.java类。
从界面单击按钮时,我如何显示我的“骗局”。(evt onClickedMouse)。
我有这个:
private TextField tf;
private FrmMainController fr;
public void show(){
tf.setText(String.valueOf(con));
fr.setTxtThread1(tf);
}
我会感谢有人帮助我克服这个问题。
在其他线程中修改JavaFX组件可能会导致问题。
尽管可以在运行方法中使用 Platform.runLater(...);
在您的fxml文件中添加一个标识符(fx:id),TextField
然后您的Controlled类必须实现Initializable
接口,该接口具有一个方法,当所有fxml元素都已初始化时,该方法将被调用。
一旦发生这种情况,您就可以如上所述调用Run
方法并更新TextField
。
基本上在SceneBuilder中创建一个具有TextField和Button且具有固定ID的基本布局,然后actionListener
在Initializable
interface方法内的按钮中添加一个:
button.setOnAction(a->{···});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句