elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Pasar Datos Constructor
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasar Datos Constructor  (Leído 9,406 veces)
cristiantorres

Desconectado Desconectado

Mensajes: 35

Bendiciones Para Todos


Ver Perfil WWW
Pasar Datos Constructor
« en: 29 Julio 2012, 06:29 am »

Hola a todos.

Soy programador en c# pero tengo que hacer unas cuantas aplicaciones en java.

Como podría pasar un dato por medio del constructor a un jframe.

He probado de la siguiente manera(en c# funciona asi).
    
Código:
valor2 = txtval2.getText();
JFrame2 f2 = new JFrame2(valor2);
f2.setVisible(true);

cuando llamo al jframe2 le paso en el constructor el valor.

Y en el constructor de jframe2 tengo lo siguiente

Código:
public JFrame2(String val2) {
       initComponents();
       txt2.setText(val2);
}

Pero no me funciona alguien me puede indicar como es la manera para pasar datos por medio del constructor a otro jframe


« Última modificación: 29 Julio 2012, 17:06 pm por cristiantorres » En línea

Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Pasar Datos Constructor
« Respuesta #1 en: 29 Julio 2012, 09:45 am »

Creo que ni en C# se puede realizar algo así.

El constructor está así:
Código
  1. public JFrame2(String val2) {
  2.       initComponents();
  3.       txt2.setText(val2);
  4. }
  5.  
Entonces para instanciar debería ser así:

Código
  1. valor2 = txtval2.getText();
  2. JFrame2 f2 = new JFrame2(valor2);
  3. f2.setVisible(true);

Saludos.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
cristiantorres

Desconectado Desconectado

Mensajes: 35

Bendiciones Para Todos


Ver Perfil WWW
Re: Pasar Datos Constructor
« Respuesta #2 en: 29 Julio 2012, 17:24 pm »

Pero si así lo tengo.

Código:
valor2 = txtval2.getText();
JFrame2 f2 = new JFrame2(valor2);
f2.setVisible(true);

Código:
public JFrame2(String val2) {
       initComponents();
       txt2.setText(val2);
}

Y en c# claro que funciona asi cuando creas la instacia del formulario 2 le pasas el dato en este caso la variable valor2 y en el constructor te creas el parametro que tendria que recibir el valor que se le pasa.
« Última modificación: 29 Julio 2012, 17:33 pm por cristiantorres » En línea

Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
cristiantorres

Desconectado Desconectado

Mensajes: 35

Bendiciones Para Todos


Ver Perfil WWW
Re: Pasar Datos Constructor
« Respuesta #3 en: 29 Julio 2012, 17:42 pm »

Ya logre resolver el problema no era problema con el código que tenia.

El error que me mostraba estaba en el main del jframe2 le di en el error y me decía crear constructor del jframe2 le di clic y me creo esto.

Código:
    private JFrame2() {
        throw new UnsupportedOperationException("Not yet implemented");
    }

La verdad que no entiendo porque creo otro constructor.

uso netbeans
En línea

Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Pasar Datos Constructor
« Respuesta #4 en: 29 Julio 2012, 18:45 pm »

Antes de que editaras el mensaje tenías algo así:

Código:
JFrame2 f2 = new JFrame2(String valor2);

Respecto al constructor por defecto, probablemente en alguna parte estabas llamando algo así:

Código:
new JFrame2();

pero como ya tenías un constructor así:

Código:
public JFrame2(String s) {

}

el lenguaje te quita el constructor por defecto JFrame2() y te marca error por no estar implementado.
Lo recuerdo bien, y perdona pero ni en C# ni en Java creo que pudieras hacer eso.
« Última modificación: 29 Julio 2012, 18:52 pm por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
cristiantorres

Desconectado Desconectado

Mensajes: 35

Bendiciones Para Todos


Ver Perfil WWW
Re: Pasar Datos Constructor
« Respuesta #5 en: 29 Julio 2012, 19:17 pm »

Tienes razon perdón al principio puse el código mal. fue un error de dedo.

Y con respecto a lo del constructor sobre lo de

Código:
new JFrame2();

Esa parte la creo netbeans cuando cree el jframe2
Código:
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new JFrame2().setVisible(true);
            }
        });
    }

Pero bueno seguiré investigando ya que mi fuerte es c# conozco java pero nunca había creado formularios asi que hay algunas cosas que aun desconozco de como funciona java.

Saludos
En línea

Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
ChavalChavito

Desconectado Desconectado

Mensajes: 43


Y ahora que pasa...


Ver Perfil
Re: Pasar Datos Constructor
« Respuesta #6 en: 29 Julio 2012, 23:27 pm »

Es conveniente que utilices otra politica de manejos de ventanas, un unico JFrame el resto JDialog, asi podes pasarle x parametros el modal(un booleano), el cual bloquea la ventana padre por asi decirlo.. desde java 6 en adelante el API trae consigo dos clases estaticas dentro d la clase Dialog:
_ static class ModalityType
_ static class ModalExclusionType
Las cuiales tienen dentro enumerado el nivel de bloqueo que pueden generar..
yo particularmente utilizo una factory para llamar a los Dialogs..
espero q t sirva, investiga un poco mas al respecto, esta es la manera correcta de hacer las cosas..
En línea

cristiantorres

Desconectado Desconectado

Mensajes: 35

Bendiciones Para Todos


Ver Perfil WWW
Re: Pasar Datos Constructor
« Respuesta #7 en: 30 Julio 2012, 00:14 am »

Ok gracias investigare sobre lo que me dices.

Saludos
En línea

Visita mi Blog C#, Asp.Net, Python y mas...
http://cristiantorresalfaro.blogspot.com
reylagarto19

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Pasar Datos Constructor
« Respuesta #8 en: 31 Julio 2012, 21:31 pm »

Es conveniente que utilices otra politica de manejos de ventanas, un unico JFrame el resto JDialog

Es cierto que esto una tecnica correcta de programacion, pero es siempre OBLIGATORIO hacerlos asi??

es decir si yo tengo una App en la que muestro un JFrame que me permite loggearme a lo que es en si la App

podria hacer un JFrame para lo que es luego la ventana de la App ??

es decir, JFrame Loggeo --> JFrame VentanaApp

o es Extrictamente necesario Usar solo un JFrame ??

siento desviar el tema, pero tenia que preguntaroslo....

En línea

ChavalChavito

Desconectado Desconectado

Mensajes: 43


Y ahora que pasa...


Ver Perfil
Re: Pasar Datos Constructor
« Respuesta #9 en: 1 Agosto 2012, 05:24 am »

Citar
Es cierto que esto una tecnica correcta de programacion, pero es siempre OBLIGATORIO hacerlos asi??
Nunca dije "obligatorio", solo la manera correcta de hacerlo...
Sumando a las razones anteriorment dichas aca es q x cada JFrame q creamos windows nos genera un boton en la barra d herramientas, no asi c los JDialog o JInternalFrame..
Otra es q JFrame no admite a ninguna otra ventana como padre. El JDialog sí admite como padres un JFrame u otros JDialog. Esto es importante porque una ventana hija siempre quedará por encima de su ventana padre. Si al crear los JDialog les pasamos el JFrame como padre, los JDialog siempre estarán visibles por encima del JFrame. No se podrán ir "detrás" de él
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines