pasar datos entre frames

Preguntas RecientesCategoria: Javapasar datos entre frames
charly preguntada 12 meses antes

cree dos ventanas frame, en ambas guardo información como nombre, edad, etc… el problema es que necesito cierta información del la ventana o frame uno dentro de la ventana dos

1 Respuestas
snow Staff contestada 12 meses antes

me imagino que no estas usando ni bases de datos ni archivos, pero puedes guardar en memeoria la información y pasarla entre clases, creando una clase especial para eso, que tenga elementos estaticos
Corre estas clases y checa si te sirve.


import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Frame1 extends JFrame {
	
	JTextField jt1;
	JButton bt2;
	JButton bt1;
	
	public Frame1() {
		setLayout(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//finaliza el programa cuando se da click en la X
        setSize(290, 150);//configurando tamaño de la ventana
        setVisible(true);//configurando visualización de la ventana 
        
        jt1 = new JTextField();
        jt1.setBounds(10,10,100,20);
        this.add(jt1);
        bt1 = new JButton();
        bt1.setBounds(10,50,200,20);
        bt1.setText("guardar en memoria");
        this.add(bt1);
        bt1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				ClaseGuardar.setDato(jt1.getText());
			}
		});
        
        bt2 = new JButton();
        bt2.setBounds(10,80,200,20);
        bt2.setText("ver otra ventana");
        bt2.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				new Frame2();
			}
		});
        this.add(bt2);
	}
	
	public static void main(String... args) {
		new Frame1();
	}
}
import javax.swing.*;
public class Frame2 extends JFrame {
	
	JTextField jt1;
	
	public Frame2() {
		setLayout(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//finaliza el programa cuando se da click en la X
        setSize(290, 150);//configurando tamaño de la ventana
        setVisible(true);//configurando visualización de la ventana 
        
        jt1 = new JTextField();
        jt1.setBounds(10,10,100,20);
        this.add(jt1);
        
        jt1.setText(ClaseGuardar.getDato());
	}
}

 

public class ClaseGuardar {
	
	private static String dato1;
	
	private ClaseGuardar() {
	}
	
	public static void setDato(String d) {
		dato1 = d;
	}
	
	public static String getDato() {
		return dato1;
	}
}

 

Your Answer

12 + 15 =