2014-01-06 2 views
0

Цель этой программы - собирать опросы пользователей. Когда пользователь заполняет 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); 
+0

Вы можете просто использовать тот же текст и установить содержимое строки, а также лучше использовать память ... – GhostDerfel

+0

Я пробовал использовать ту же строку и просто .setText в зависимости от случая, но это не сработало. – Gregg1989

+0

И если вы попытаетесь установить видимость текстового поля? Извините, так как держитесь за такой подход ... – GhostDerfel

ответ

2

Мы находим решение на нашем чате, проблема заключалась в том, что он добавлял текстовых полей на ручке действий, когда правильный путь был обновить содержимое на ручке действия и иметь текст или метка поля, создаваемого с другими элементами на экране :)

Смежные вопросы