伙计们,今天我遇到了另一个问题。 这是我的代码的一部分。我有2个功能,我想分配给一个按钮(登录),我该怎么做?
@FXML
private void fireLogIn()
{
LogInButton.setOnKeyPressed(event -> {
if(event.getCode() == KeyCode.ENTER){
LogIn(event); // <--- there is an error of wrong type of data
}
});
}
@FXML
private void LogIn(ActionEvent event) throws IOException {
if(LoginField.getText().equals("MKARK")&&PasswdField.getText().equals("KACZOR1"))
{
Parent parent = FXMLLoader.load(getClass().getResource("/fxmlFiles/MainScreen.fxml"));
Scene MainScene = new Scene(parent);
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
stage.setScene(MainScene);
stage.show();
}
else
{
IncorrectDataLink.setVisible(true);
IncorrectDataLink.setOnAction(e-> openWebpage(uri));
}
}
我想提供这两种设施,只需用鼠标按下按钮,或者只要按下它就按“ENTER”按钮。
答案 0 :(得分:2)
有几种方法可以做到这一点。
Login
。 LoginButton.fire()
会以编程方式点击该按钮,然后会触发Login
事件。如果您向按钮添加OnKeyPressedListener,并检测到&#39; ENTER&#39;单击密钥,您可以以编程方式单击该按钮,而不必再次调用Login
方法。以下是一些帮助您检测按钮上的Enter键的链接
Fire Button's onAction with Enter in JavaFX
javafx: How to bind the Enter key to a button and fire off an event when it is clicked?