pasar datos entre frames

Preguntas RecientesCategoria: Javapasar datos entre frames
charly preguntada 1 año 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 1 año 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

1 + 14 =