Javafx 在按钮执行期间更改标签

Javafx 在按钮执行期间更改标签,javafx,javafx-2,javafx-8,Javafx,Javafx 2,Javafx 8,我有一个“连接”按钮,它调用网络连接的内部逻辑 我有一个启动网络连接的按钮 Button connectButton = new Button("Connect"); connectButton.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) {

我有一个“连接”按钮,它调用网络连接的内部逻辑 我有一个启动网络连接的按钮

Button connectButton = new Button("Connect");
connectButton.setOnAction(new EventHandler<ActionEvent>()
        {

            @Override
            public void handle(ActionEvent e)
            {
                actiontarget.setText("Successful Connection Test!");
            }
        });
按钮连接按钮=新按钮(“连接”);
connectButton.setOnAction(新的EventHandler()
{
@凌驾
公共无效句柄(ActionEvent e)
{
setText(“成功的连接测试!”);
}
});
如何使用“取消”标签在操作执行期间更改按钮标签?
还有,当按钮标签为“取消”时,如何取消操作?当按钮标签不同时,可能需要调用特定的操作?

您可以使用布尔标志来指示单击按钮时要执行的操作;如果标志为true,则执行取消操作并将标志设置为false,将按钮文本设置为“连接”。如果标志为false,则执行连接操作并将标志设置为true,将按钮文本设置为“取消”。

您可以使用以下逻辑扩展代码段。我还没有试过,但我认为应该可以,甚至我建议使用注射

private final String CONNECT = "connect";
private final String DISCONNECT = "disconnect";

Button connectButton = new Button(CONNECT);
connectButton.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent e)
    {
        if (connectButton.getText().equals(CONNECT)) {
            do_something();
            actiontarget.setText(DISCONNECT);
        } else {
            do_something_else();
            actiontarget.setText(CONNECT);
        }
    }
});
在代码中:

@FXML
public void actionClickedConnectBtn(ActionEvent event) {
    if (btnConnectGpsd.isSelected()) {
        do_something();
    } else {
        do_something_else();
    }
}
@FXML
public void actionClickedConnectBtn(ActionEvent event) {
    if (btnConnectGpsd.isSelected()) {
        do_something();
    } else {
        do_something_else();
    }
}