Foros del Web » Programación para mayores de 30 ;) » Java »

Como modificar componentes de un JFrame desde otro??

Estas en el tema de Como modificar componentes de un JFrame desde otro?? en el foro de Java en Foros del Web. Muy buenas a todos.. tengo una duda tengo un proyecto en java con un paquete que contiene imagaenes y otro que contiene dos JFame y ...
  #1 (permalink)  
Antiguo 10/03/2013, 16:12
argume
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Como modificar componentes de un JFrame desde otro??

Muy buenas a todos.. tengo una duda

tengo un proyecto en java con un paquete que contiene imagaenes y otro que contiene dos JFame y una clase con metodos para poder utilizar...

el primer jframe contiene un jpanel y dentro de este se encuentran varios JButton's;
la idea es que cuando oprima uno de estos botones se me abra el segundo jframe...
el segundo jframe tiene que ser capaz de asignar iconos (imagenes que estan en el otro paquete) al los botones que estan dentro del primer jframe, utilizando un metodo de la clase que se encuentra dentro del paquete (que ya mencione)....

espero haber sido lo suficiente mente claro y de antemano gracias por su colaboracion.
  #2 (permalink)  
Antiguo 11/03/2013, 06:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Como modificar componentes de un JFrame desde otro??

Hola:

Pásale los botones al segundo JFrame cuando los abra, así este será capaz luego de cambiar los iconos de ellos.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 11/03/2013, 09:27
 
Fecha de Ingreso: julio-2010
Ubicación: Peru
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como modificar componentes de un JFrame desde otro??

tomando un poco de teoria del concepto de chuidiang mas lo planteado lo hice asi
en el primer formulario iria algo asi
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*
* @author root
*/
public class framea extends JFrame{
private JButton a,b;
metodos metodos;
public framea(){
super("Formulario 1");
JPanel panel=new JPanel();
metodos=new metodos();
a=new JButton("llamar Formulario 2");
a.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {

new frameb(new JButton("boton"));

}
});
//valor=objetos{imagenes,textos,dimensiones,etc}
b=new JButton("cambiar valor de boton de Formulario 2");
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
metodos.b();

}});
panel.add(a);
panel.add(b);
getContentPane().add(panel);
setDefaultCloseOperation(EXIT_ON_CLOSE);
//getContentPane().add(a);

//getContentPane(this);
setVisible(true);
setSize(400, 200);
}
public static void main(String[] arg){
new framea();
}
}


en el segundo formulario seria como lo siguiente

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*
* @author root
*/
public class frameb extends JFrame{
metodos metodos;
static JButton b;
public frameb(){

}
public frameb(JButton aux){
super("Formulario 2");
metodos=new metodos();
JPanel panel=new JPanel();
b=aux;
//valor={objetos,textos,clases,etc}
b.setText("aki va valor original");
b.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {

metodos.a();
}
});
panel.add(b);
getContentPane().add(panel);
setSize(400, 300);
setVisible(true);
}
}


luego en la clase este codigo

import javax.swing.Icon;
import javax.swing.JButton;

/**
*
* @author root
*/
public class metodos {
frameb frameb=new frameb();
public metodos(){
}


public void a(){

}
public void b(){

frameb.b.setText("CAMBIADO EN METODO DESDE UNA CLASE");

// aux.setText("evento ejecutado desde framea");

}
}

Suerte
  #4 (permalink)  
Antiguo 11/03/2013, 20:33
argume
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como modificar componentes de un JFrame desde otro??

Cita:
Iniciado por alvaroLima42 Ver Mensaje
tomando un poco de teoria del concepto de chuidiang mas lo planteado lo hice asi
en el primer formulario iria algo asi
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*
* @author root
*/
public class framea extends JFrame{
private JButton a,b;
metodos metodos;
public framea(){
super("Formulario 1");
JPanel panel=new JPanel();
metodos=new metodos();
a=new JButton("llamar Formulario 2");
a.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {

new frameb(new JButton("boton"));

}
});
//valor=objetos{imagenes,textos,dimensiones,etc}
b=new JButton("cambiar valor de boton de Formulario 2");
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
metodos.b();

}});
panel.add(a);
panel.add(b);
getContentPane().add(panel);
setDefaultCloseOperation(EXIT_ON_CLOSE);
//getContentPane().add(a);

//getContentPane(this);
setVisible(true);
setSize(400, 200);
}
public static void main(String[] arg){
new framea();
}
}


en el segundo formulario seria como lo siguiente

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*
* @author root
*/
public class frameb extends JFrame{
metodos metodos;
static JButton b;
public frameb(){

}
public frameb(JButton aux){
super("Formulario 2");
metodos=new metodos();
JPanel panel=new JPanel();
b=aux;
//valor={objetos,textos,clases,etc}
b.setText("aki va valor original");
b.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {

metodos.a();
}
});
panel.add(b);
getContentPane().add(panel);
setSize(400, 300);
setVisible(true);
}
}


luego en la clase este codigo

import javax.swing.Icon;
import javax.swing.JButton;

/**
*
* @author root
*/
public class metodos {
frameb frameb=new frameb();
public metodos(){
}


public void a(){

}
public void b(){

frameb.b.setText("CAMBIADO EN METODO DESDE UNA CLASE");

// aux.setText("evento ejecutado desde framea");

}
}

Suerte
alvaroLima42....


segun me doy cuenta, el constructor del segundo JFrame debe recibir como parametro un JButton, cierto???

muchas gracias..!!
  #5 (permalink)  
Antiguo 22/03/2013, 05:34
 
Fecha de Ingreso: julio-2010
Ubicación: Peru
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como modificar componentes de un JFrame desde otro??

argume....
asi es se pueden pasar parametros tipo obejtos y convertirlos o castearlos a sus clases originales segun sea la necesidad...

saludos..

Etiquetas: componentes, jframe, modificar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:26.