该计划的目的是收集用户的调查。用户填写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);
答案 0 :(得分:2)
我们在聊天中找到解决方案,问题是当正确的方法是更新操作句柄上的内容并使用其他元素创建文本或标签字段时,他正在操作句柄上添加文本字段在屏幕上:))