java - 按下按钮后更新屏幕

标签 java android text grid javafx

该计划的目的是收集用户的调查。用户填写完 3 个文本字段后,必须单击“提交”。如果所有 3 个文本字段均已填写,则文本将显示在提交按钮的正下方。如果 3 个字段中的任何一个字段为空并且用户单击“提交”,他将收到错误(文本)。

因此,问题在于“成功”文本和“错误”文本重叠。例如,如果我第一次无法提交调查,但第二次就成功了,我的屏幕最终会如下所示:

enter image description here

我使用 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);

最佳答案

我们在聊天中找到了解决方案,问题是他在操作句柄上添加文本字段,而正确的方法是更新操作句柄上的内容并使用其他元素创建文本或标签字段在屏幕上:)

关于java - 按下按钮后更新屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20954235/

相关文章:

java - 无法在 UI Automator 查看器中获取可点击按钮

java - sun.misc 包在 java 中仍然可用吗?

android - 在 TextView 中垂直对齐由 HTML 定义的图像

android - Cordova 应用程序的 read_stream

java - 我升级到 Android Studio 2.3.3,一个没有错误的旧程序现在出现错误 : "Fragments should be static..."

python-2.7 - difflib.get_close_matches 获得分数

python - 使用 PIL 将文本绘制到图像的中心

JavaFx 阻止新窗口窃取焦点

java - 运行最新的 Jetty 版本会破坏我的构建

text - 为什么文本编辑器会使粘贴代码的缩进变形?