Итак, в этом проекте мы с моими партнерами создали графический интерфейс.Мне нужно подтвердить адрес электронной почты и пароль, проверив текстовый файл с именем e.txt
. Вход в систему GUI Я просто хотел знать, является ли приведенный ниже код в некотором смысле.После того, как я попытался запустить его, я столкнулся с некоторыми ошибками.Другое изменение, которое я сделал, я сделал идентификаторы текстового поля.У нас там были текстовые поля, там просто не было идентификаторов.Теперь, когда я сделал их идентификаторы и сохранил изменения, проблемы начались.Программа больше не позволяет всплывать графическому интерфейсу, так как я сохранил изменения в файле login.fxml.Синтаксис мудрый, что-то не так с функцией validateEmailAndPassword?
package cais240courseproj;
public class CAIS240CourseProj extends Application {
@Override
public void start(Stage stage) throws Exception {
//netbeans has directed me to this as the problem that isn't allowing
//the program to run
Parent root = FXMLLoader.load(getClass().getResource("Login.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
stage.setResizable(false);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
public class FXMLDocumentController implements Initializable {
boolean validAccount;
@FXML
private Label label;
@FXML
private ImageView iv;
@FXML
private AnchorPane rootLogin;
@FXML
private Button registerBtn;
@FXML
private Button EmailTextField;
@FXML
private Button passwordTextField;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
label.setText("Hello World!");
}
@FXML
private void loadRegister(ActionEvent event) throws IOException {
Parent registerPane = FXMLLoader.load(getClass().getResource("Register.fxml"));
//Make sure the textfields aren't empty
if( (!EmailTextField.getText().isEmpty() ) && ( !passwordTextField.getText().isEmpty() ) )
//take the user input (email and password) and compare them with registered
//account info
validatePassAndEmail(EmailTextField.getText(), passwordTextField.getText());
Scene tableViewScene = new Scene(registerPane);
Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
window.setScene(tableViewScene);
window.show();
}
private void validatePassAndEmail(String email, String password) throws IOException{
boolean sameEmail = false, samePassword = false;
Scanner scan = new Scanner(new File("e.txt"));
//comparing and checking to see if the user input is a registered account
while( (sameEmail == false) && (samePassword == false) ){
while (scan.hasNextLine()) {
if( sameEmail == false && email.equals(scan.next()))
sameEmail = true;
if(samePassword == false && password.equals(scan.next()))
samePassword = true;
//if the scanner has reached the end with no matches
if(scan.next().equals(""))
break;
}
}
if( sameEmail == true && samePassword == true )
validAccount = true;
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}