Java - Mensajes entre Frames

 
Vista:

Mensajes entre Frames

Publicado por Harkonnen (1 intervención) el 22/12/2000 00:00:00
Supongamos que tengo una clase que extiende a Frame que se esta mostrando en pantalla. Esa clase activa otra subclase de Frame mediante setVisible(true), al mismo tiempo que se oculta a si misma con setVisible(false). Ahora bien, como puedo conseguir, desde la clase privada, volver a mostrar la principal (es decir, hacer un setVisible(true) de la principal)? He intentado encontrar un metodo que me indique qué Frame activó uno dado, pero no lo encuentro...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mensajes entre Frames

Publicado por jose (53 intervenciones) el 23/12/2000 00:00:00
Es fácil.Debes implementalo tú. El marco hijo debe tener una referencia al padre que puedes pasarle en algún momento. En este ejemplo que te mando dicha referencia se pasa en el
constructor. Espero que no te importe que use Swing


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

public class Padre extends JFrame {
JButton botonActivaHijo;
Hijo hijo;
Padre() {
setBounds(100,100,400,300);
botonActivaHijo = new JButton("Ven aqui hijo mio");
getContentPane().add(botonActivaHijo);
hijo = new Hijo(this);
botonActivaHijo.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent ev) {
setVisible(false);
hijo.setVisible(true);
}
});
}
public static void main( String [] args ) {
Padre p = new Padre();
p.setVisible(true);
}
}



class Hijo extends JFrame {
Padre padre;
JButton botonActivaPadre;
Hijo(Padre p) {
padre = p;
setBounds(200,200,400,300);
botonActivaPadre = new JButton("Vuelve aqui, padre");
getContentPane().add(botonActivaPadre);
botonActivaPadre.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent ev) {
setVisible(false);
padre.setVisible(true);
}
});
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar