Guardar solo si varios JTextFields no están vacíos

Tengo múltiples JTextFieldsy JComboBoxen mi JFrame. Entonces, cada vez que haga clic en el _Add_botón, verificará si los cuatro (4) campos de texto en el Panel de medicación actual están vacíos. Si no es así, Ejecutar, pero también depende si se rellenan los campos de texto del Panel de información personal .

Pero tengo un problema cuando uso la if and elsedeclaración, si uso el if and else:

    if(condition if the first textfield is empty) {
        // execute something like the textfield turn to red
    } else if(condition if the second textfield is empty) {
        // execute something like the textfield turn to red
    } else if(condition if the third textfield is empty) {
        // execute something like the textfield turn to red
    } else{
        // execute save information of the patient
    }

En esta situación, si el primer campo de texto está vacío, se volverá rojo, pero si el primer y segundo campo de texto están vacíos, solo el primer campo de texto se volverá rojo.

También probé el if, y si y si pero deberíamos poner el elsesiempre que no haya una entrada vacía o no válida donde se ejecutará y guardará la información del paciente de esta manera:

   if(condition if the first textfield is empty) {
     // execute something like the textfield turn to red
   }
   if(condition if the second textfield is empty) {
     // execute something like the textfield turn to red
   }
   if(condition if the third textfield is empty) {
     // execute something like the textfield turn to red
   }
   if(condition if the fourth textfield is empty) {
     // execute something like the textfield turn to red
   } else

Si uso esto solo la última ifdeclaración solo funciona para la elsedeclaración. Entonces, si la última declaración es verdadera, ejecute, pero no la elseejecución de la declaración, que es información de guardado del paciente.

¿Hay algo que pueda hacer al respecto? ¿o hay algún tutorial para mí para aprender más sobre Java y sobre if y else ?

Respuesta 1

En el método del oyente de acción Agregar botón actionPerformed, puede intentar esto:

public void actionPerformed(ActionEvent e) {

    if (! textFieldsValid()) {
        // one or more of the text fields are empty
        // may be display a message in a JOptionPane
        System.out.println("The text fields are not filled with data, etc...");
        return;
    }

    // else, text fields have valid data, so do whatever processing it further...
}

/*
 * This method checks if the text fields are empty and sets their borders as red. Returns
 * a boolean false in case any of the text fields are empty, else true.
 */
private boolean textFieldsValid() {

    boolean validTextFields = true;

    if (textField1.getText().isEmpty()) {
        validTextFields = false;
        textField1.setBorder(new LineBorder(Color.RED));
    }

    if (textField2.getText().isEmpty()) {
        validTextFields = false;
        // textField2.setBorder(...)
    }

    // ... same with textField3 and textField4

    return validTextFields;
}
Respuesta: 2

pero se debe poner el otro

No es obligatorio seguir ifcon else. El propósito de la especificación elsees permitir que el flujo de ejecución de su código atraviese todos los demás casos cuando ifno está satisfecho (verdadero).

si uso esto solo la última declaración if solo funciona para la declaración else

Porque, ifpodría haber satisfecho, por lo que ejecuta el elsecaso. Sugeriría incluir returnen cada ifcaso. De modo que, si alguno de los ifcasos fue satisfecho. Entonces, no ejecutará más código.

Respuesta: 3

Primero creo una Cadena Json con Cadena myJsonString = new Gson (). toJson (myElement); Esto funciona bien. Después de eso, quiero agregar esta cadena a otro gran jsonObject para enviarlo al backend con ...

No soy un experto en Regex, podría ser una razón obvia, pero no puedo encontrar una respuesta a esto. Utilizo una notación POSIX para hacer coincidir una Cadena (n) usando Regex en Java de una manera que no distingue entre mayúsculas y minúsculas. Dado: ...

No pude encontrar un complemento Maven que satisficiera mis necesidades para minimizar JavaScript y CSS, así que comencé a crear el mío. Sin embargo, parece que me encontré con un obstáculo. Las versiones minimizadas de los archivos siempre ...

Estoy tratando de hacer expresiones regulares que atrapen expresiones entre paréntesis, pero cuando hay más de una sección de paréntesis, la expresión regular se detiene en el primer cierre. Un ejemplo lo explicará mejor: (expr) #simple, ...