¿Cómo imprimir los resultados de un método de una clase en un JTextArea en otra clase?

publicado por: Anonymous

Quisiera saber cómo hacer lo que pregunto en el título. Tengo una clase Paciente, con un método que imprime todos los datos de ese paciente. Me gustaría conseguir que en vez de por consola, o porJOptionPane.showMessageDialog me mostrara esos resultado en un JTextArea, que está en otra clase, llamada Menu, que es la que inicia toda la interfaz gráfica.

La interfaz es asi:
introducir la descripción de la imagen aquí

Mi clase paciente:

public class Paciente implements Serializable

Que tiene el método:

public static void ConsultarByNum_Clinico(int num_expediente) {

    if (ArrayPacientes.isEmpty()) {
        System.out.println("No hay pacientes en la lista aún, introduzca algunos");
        System.out.println("Volviendo al menú...");
        System.out.println();
        System.out.println();


    }

    Paciente resultado = null;
    for (Paciente paciente : ArrayPacientes) {
        if (paciente.num_expe_clinico == num_expediente) {
            resultado = paciente;
            JOptionPane.showMessageDialog(null,"Nombre : " + resultado.nombre + "n" +
            "Primer apellido : " + resultado.apell1 + "n" +
            "Segundo apellido : " + resultado.apell2 + "n" +
            "Edad : " + resultado.edad + "n" +
            "Alcohol : " + resultado.alcohol + "n" +
            "Fumador : " + resultado.fumador +"n" +
            "Número de expediente clínico : " + resultado.num_expe_clinico + "n" +
            "Diagnóstico : " + resultado.HistorialClinico + "n" +
            "Tratamiento : " + resultado.tratamiento);


        } else {
            JOptionPane.showMessageDialog(null, "No existe el paciente");

Como veis, tal y como lo tengo ahora, se imprime en un JOptionPane, pero no es lo que quiero.

¿Qué necesito?

Imprimir todo lo de resultado.nombre, resultado.edad etc etc pero en el textarea.

Dicho textarea esta en la clase Menu()

public class Menu extends JPanel implements ActionListener

Y dentro de lo anterior tengo declarado el textarea.

Gracias 😀

solución

Suponiendo que tu clase Menu tiene los getters y setters necesarios para acceder al textArea, es muy fácil hacer lo que dices.

En tu clase menu

public class Menu extends JPanel implements ActionListener
  private JTextArea ta= new JTextArea();
  ....//Todo lo que haga tu clase
 public void setTa(string valor){
   ta.setText(valor);
 }
 public JTextArea getTa(){
   return ta;
 }

entonces solamente en donde quieras definir lo que va en ese textArea y desde tu instancia de la clase menu llamas ese método.

miClaseMenu.setTa("Aqui pones todo lo que necesites :) ");
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *