如何用javafx模拟点击按钮
我有两个如何用javafx模拟点击按钮,java,button,javafx,Java,Button,Javafx,我有两个按钮stoRed和toGreen。当点击toRed时,它将场景切换到场景“绿色”,并启动定时器(使用线程)。它从5倒计时到0,然后切换回场景红色。在我的Timer课程中,我实现了以下功能: public void run() { try{ while(running){ if (seconds==1 && goBack){ this.seconds = 6;
按钮
stoRed
和toGreen
。当点击toRed
时,它将场景
切换到场景
“绿色”,并启动定时器(使用线程)。它从5倒计时到0,然后切换回场景
红色。在我的Timer
课程中,我实现了以下功能:
public void run() {
try{
while(running){
if (seconds==1 && goBack){
this.seconds = 6;
running=false;
toRed.fire();
} ......
但是toRed.fire()
似乎不起作用(没有任何变化)。如何在我的主类中的Timer
类中模拟单击按钮
?不向按钮添加事件处理程序,而是在计时器中添加一个函数的名称,该函数执行您希望按钮执行的操作。您调用该函数,而不是触发一个为true的按钮,但“toRed.fire();”应该可以工作。你确定执行到这一步了吗?是的,我确定。我也试过使用toRed.arm();然后发布更多代码,特别是在注册处理程序和更改场景的地方。尝试从javafx应用程序线程执行fire
:Platform.runLater(toRed::fire)
不要在按钮中添加事件处理程序,而是在计时器中添加一个函数的名称,该函数执行您希望按钮执行的操作。您可以调用该函数,而不是触发按钮。该函数为true,但“toRed.fire();”应该可以工作。你确定执行到这一步了吗?是的,我确定。我也试过使用toRed.arm();然后发布更多代码,特别是在注册处理程序和更改场景的地方。尝试从javafx应用程序线程执行fire
:Platform.runLater(toRed::fire)代码>