0
該程序的目的是收集用戶的調查。一旦用戶填寫了3個文本字段,他必須點擊提交。如果填寫了所有3個文本字段,則文本將顯示在提交按鈕的正下方。如果3個字段中的任何一個都爲空,並且用戶單擊提交,他將會收到一個錯誤(文本)。按下按鈕後更新屏幕
所以,問題是「成功」文本和「錯誤」文本重疊。例如,如果我沒能提交調查的第一次,但得到它在第二次,我的屏幕最終看起來像這樣:
我使用的是GridPane爲佈局這一幕。
您可以在下面看到源代碼。
public void handle(ActionEvent event) {
try {
FileWriter stream = new FileWriter("out.txt");
BufferedWriter out = new BufferedWriter(stream);
Text error = new Text("Error. Make sure all fields are filled out.");
Text success = new Text("Survey submitted. Thank you!");
//Save the survey only if all text fields are filled out.
if (!fullName.getText().contentEquals("") && !email.getText().contentEquals("") && !comment.getText().contentEquals("")) {
out.write("Name: " + fullName.getText());
out.write("\tEmail: " + email.getText());
out.write("\tComment: " + comment.getText());
out.close();
success.setFont(new Font("Ariel", 15));
success.setFill(Color.GREEN);
grid2.add(success, 0, 13,3,4);
} else {
error.setFont(new Font("Ariel", 15));
error.setFill(Color.RED);
grid2.add(error, 0, 13,3,4);
}
} catch (IOException ex) {
System.out.println("ERROR SAVING FILE.");
}
}
});
grid2.add(submitButton, 0, 11);
你可以只使用相同的文本和設置字符串的內容,也更好的內存消耗... – GhostDerfel
我試着使用相同的字符串,只是.setText取決於大小寫,但不幸的是,它不工作。 – Gregg1989
如果您嘗試設置文本字段的可見性?對不起,爲了保持這種去馬方式... – GhostDerfel