我目前正在处理的程序有问题。该程序带有一个登录系统,其中我有一个文本字段、一个密码字段和两个按钮(登录和退出)。
我想把回车键绑定(bind)到“登录”按钮上,这样无论它关注什么,如果我在当前场景中按下回车键,它都会按下“登录”按钮。请记住,它仍然需要对鼠标点击使用react。
最佳答案
我想您正在寻找“默认按钮”。您可以通过编程方式或在 Scenebuilder/FXML 中设置它。
场景生成器/FXML
在 Scenebuilder 中打开您的场景。然后选择要将 Enter 绑定(bind)到的按钮。现在您可以在Properties : Button > Specific 下的右侧面板中勾选“Default Button”。点击保存即可。
这将在 FXML 中添加 defaultButton="true"
属性为 <Button>
标签。
程序化
在你的 Controller 中,你需要设置Button#setDefaultButton(boolean)
至 true
.您可能希望在 Controller 的初始化阶段执行此操作。
示例 Controller :
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import java.net.URL;
import java.util.ResourceBundle;
public class Controller implements Initializable
{
@FXML
private Button button;
@Override
public void initialize(URL location, ResourceBundle resources)
{
button.setDefaultButton(true);
}
}
您现在可以在场景中的任意位置按 Enter 来模拟按下该按钮(从而执行其监听器)。此外,按钮上应用了轻微的蓝色强调,以使其明显表明它是默认按钮。
关于java - 将按钮方法绑定(bind)到 ENTER 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49980469/