所以我想创建一个程序,为用户创建一个新的帐户,用户应该能够'登录'与同一个帐户。现在,我已经设法完成第一部分(使用数组创建帐户),但现在我不知道如何使用该帐户登录。我无法登录到我的帐户(阵列)在JavaFX
PS:当我说的密码,它只是弹出
下面的代码的alertbox:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.control.PasswordField ;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class LoginEN extends Application {
Button btnCreate,btnLogin;
TextField txtUsername;
PasswordField Password;
Label lblUsername,lblPassword;
int index=0;
String[] user = new String[11];
String[] pas = new String[11];
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Create and login");
btnCreate = new Button();
btnCreate.setText("Create");
btnLogin = new Button();
btnLogin.setText("Login");
txtUsername=new TextField();
txtUsername.setMaxWidth(200);
Password=new PasswordField();
Password.setMaxWidth(200);
lblUsername=new Label();
lblUsername.setText("Username");
lblPassword=new Label();
lblPassword.setText("Pasword");
btnCreate.setOnAction(e ->{
if (index < 12){
index++;
user[index]=txtUsername.getText();
pas[index]=Password.getText();
AlertBox.display("Account information","Your account has been succesfully created: \n Username: " + user[index] + " \n Pasword: " + pas[index] );
txtUsername.clear();
Password.clear();
}else{
AlertBox.display("Error", "You reached the limit.");
}
});
btnLogin.setOnAction(e ->{
for (int c = 0; c < 11; c++)
{
if ((txtUsername.equals(user[c])) && (Password.equals(user[c]))) {
AlertBox.display("OK", " Welcome to your account");
}
break;
}
});
VBox layout = new VBox();
layout.getChildren().addAll(lblUsername,txtUsername,lblPassword,Password,btnCreate,btnLogin);
Scene scene = new Scene(layout, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
}
编辑,但仍然无法正常工作:■...
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.control.PasswordField ;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class LoginEN extends Application {
Button btnCreate,btnLogin;
TextField txtUsername;
PasswordField Password;
Label lblUsername,lblPassword;
int index=0;
String[] user = new String[11];
String[] pas = new String[11];
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Create and login");
btnCreate = new Button();
btnCreate.setText("Create");
btnLogin = new Button();
btnLogin.setText("Login");
txtUsername=new TextField();
txtUsername.setMaxWidth(200);
Password=new PasswordField();
Password.setMaxWidth(200);
lblUsername=new Label();
lblUsername.setText("Username");
lblPassword=new Label();
lblPassword.setText("Pasword");
btnCreate.setOnAction(e ->{
if (index < 11){
user[index]=txtUsername.getText();
pas[index]=Password.getText();
AlertBox.display("Account information","Your account has been succesfully created: \n Username: " + user[index] + " \n Pasword: " + pas[index] );
txtUsername.clear();
Password.clear();
index++;
}else{
AlertBox.display("Error", "You reached the limit.");
}
});
btnLogin.setOnAction(e ->{
for (int c = 0; c < 11; c++)
{
if ((txtUsername.equals(user[c])) && (Password.equals(pas[c]))) {
AlertBox.display("OK", " Welcome to your account");
break;
}
}
});
VBox layout = new VBox();
layout.getChildren().addAll(lblUsername,txtUsername,lblPassword,Password,btnCreate,btnLogin);
Scene scene = new Scene(layout, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
}
当人们冷静下来这个帖子,这只是一个问题,我知道这是一个愚蠢的,但至少帮助我,而不是downvoti ng .. – TinaXx
我想指出,这个得到低投票的原因(最可能)是因为你的问题有点含糊。关于“我不知道如何使用该帐户登录”的含义并不清楚。 现在你的问题;我立即注意到的一件事是你的索引问题(仍然)。如果只有11个用户,则代码如下所示: if(index <11)需要:if(index <10)因为如果索引为10,表示已有11个用户(计数为0)。你的for循环没问题。 –