我对 java 和 vaadin 都很陌生。希望能够得到一些关于如何改进我的代码的好技巧。我想重写下面的代码以使用 Vaadin 的 -> LoginOverlay 而不是下面的代码。
正如我所说,我正在努力学习,所以我使用了这个例子的代码:https : //www.youtube.com/watch?v=oMKks5AjaSQ&t=1158s
但是,LoginOverlay 似乎是显示其登录部分的更好方式。如本例所示:https : //www.youtube.com/watch?v=pteip-kZm4M
所以我的问题是如何将下面的代码编写为 LoginOverlay。
public class LoginView extends Div {
public LoginView(AuthService authService) {
setId("login-view");
var username = new TextField("Username");
var password = new PasswordField("Password");
add(
new H1("Welcome"),
username,
password,
new Button("Login", event -> {
try {
authService.authenticate(username.getValue(), password.getValue());
UI.getCurrent().navigate("home");
} catch (AuthService.AuthException e) {
Notification.show("Wrong credentials.");
}
}),
new RouterLink("Register", RegisterView.class)
);
}
Run Code Online (Sandbox Code Playgroud)
}
我只是为了转换代码才走到这一步。
代码的新部分的澄清。该代码不起作用。loginOverlay.addLoginListener (event -> 可能需要以不同的方式编写。如果有任何帮助,我正在使用 IntelliJ 2020.3.4。
public …Run Code Online (Sandbox Code Playgroud)