To create a login window with components such as Button,TextField,label etc ,you can useing FlowPane,GridPane,and BorderPane. When you click the login button with right username and password, shows “login successfully”,or else, shows “illegal username or password”.
时间: 2023-11-22 21:55:31 浏览: 78
Here is a sample code to create a login window using GridPane:
```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.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class LoginWindow extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// Create a GridPane layout
GridPane grid = new GridPane();
grid.setAlignment(Pos.CENTER);
grid.setHgap(10);
grid.setVgap(10);
grid.setPadding(new Insets(25, 25, 25, 25));
// Add Title
Text scenetitle = new Text("Login Window");
scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
grid.add(scenetitle, 0, 0, 2, 1);
// Add Username Label and TextField
Label userName = new Label("Username:");
grid.add(userName, 0, 1);
TextField userTextField = new TextField();
grid.add(userTextField, 1, 1);
// Add Password Label and PasswordField
Label pw = new Label("Password:");
grid.add(pw, 0, 2);
PasswordField pwBox = new PasswordField();
grid.add(pwBox, 1, 2);
// Add Login Button
Button btn = new Button("Login");
grid.add(btn, 1, 4);
// Set action on Login button
Text actiontarget = new Text();
grid.add(actiontarget, 1, 6);
btn.setOnAction(e -> {
String userNameInput = userTextField.getText().trim();
String passwordInput = pwBox.getText().trim();
if (isValidLogin(userNameInput, passwordInput)) {
actiontarget.setFill(javafx.scene.paint.Color.GREEN);
actiontarget.setText("Login Successful");
} else {
actiontarget.setFill(javafx.scene.paint.Color.RED);
actiontarget.setText("Illegal Username or Password");
}
});
// Create a Scene and add the GridPane layout
Scene scene = new Scene(grid, 400, 275);
primaryStage.setScene(scene);
primaryStage.show();
}
private boolean isValidLogin(String userName, String password) {
// Check for valid username and password
// You can replace this with your own implementation
return userName.equalsIgnoreCase("admin") && password.equals("admin123");
}
public static void main(String[] args) {
launch(args);
}
}
```
You can customize this code based on your requirements and use FlowPane or BorderPane instead of GridPane if you prefer.