设计一个javafx界面实现登录注册
时间: 2024-05-07 12:21:47 浏览: 11
以下是一个简单的 JavaFX 登录注册界面的示例代码:
```java
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class LoginRegistrationUI extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Login Registration");
// 创建表格布局
GridPane grid = new GridPane();
grid.setAlignment(Pos.CENTER);
grid.setHgap(10);
grid.setVgap(10);
grid.setPadding(new Insets(25, 25, 25, 25));
// 创建欢迎文本
Text scenetitle = new Text("Welcome");
scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
grid.add(scenetitle, 0, 0, 2, 1);
// 创建用户名标签和文本框
Label userName = new Label("User Name:");
grid.add(userName, 0, 1);
TextField userTextField = new TextField();
grid.add(userTextField, 1, 1);
// 创建密码标签和文本框
Label pw = new Label("Password:");
grid.add(pw, 0, 2);
PasswordField pwBox = new PasswordField();
grid.add(pwBox, 1, 2);
// 创建登录和注册按钮
Button btn = new Button("Sign in");
Button regBtn = new Button("Register");
HBox hbBtn = new HBox(10);
hbBtn.setAlignment(Pos.BOTTOM_RIGHT);
hbBtn.getChildren().add(btn);
hbBtn.getChildren().add(regBtn);
grid.add(hbBtn, 1, 4);
// 创建错误信息文本
final Text actiontarget = new Text();
grid.add(actiontarget, 1, 6);
// 登录按钮事件
btn.setOnAction(event -> {
String username = userTextField.getText();
String password = pwBox.getText();
// 检查用户名和密码是否正确
if (username.equals("admin") && password.equals("admin")) {
actiontarget.setFill(Color.GREEN);
actiontarget.setText("Login successful");
} else {
actiontarget.setFill(Color.RED);
actiontarget.setText("Invalid username or password");
}
});
// 注册按钮事件
regBtn.setOnAction(event -> {
// 执行注册逻辑
actiontarget.setFill(Color.BLUE);
actiontarget.setText("Registration success");
});
Scene scene = new Scene(grid, 300, 275);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
这个 JavaFX 界面包括一个登录表单和一个注册按钮。当用户单击登录按钮时,它会检查用户名和密码是否正确,并显示相应的消息。当用户单击注册按钮时,它会执行注册逻辑并显示成功消息。