所以我想創建一個程序,爲用戶創建一個新的帳戶,用戶應該能夠'登錄'與同一個帳戶。現在,我已經設法完成第一部分(使用數組創建帳戶),但現在我不知道如何使用該帳戶登錄。我無法登錄到我的帳戶(陣列)在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循環沒問題。 –