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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Esperar hasta que formulario termine
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Esperar hasta que formulario termine  (Leído 10,274 veces)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Esperar hasta que formulario termine
« en: 27 Noviembre 2010, 05:41 am »

Hola, tengo un problema, en un botón de mi formulario principal, yo mando a hablar a otro formulario, algo así:

Código
  1. private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {                                        
  2.        //new Datos().setVisible(true);
  3.        Datos dat = new Datos();
  4.        dat.setVisible(true);
  5.  
  6.    }  

Funciona bien, abre el formulario y puedo trabajar sobre el, pero el problema está en que yo tengo que esperar que termine el formulario que abrí para de ahí recoger los datos. Pero el código que tengo abre el formulario y continua su ejecución.

¿Alguien sabe como puedo arreglarlo?


En línea

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


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #1 en: 27 Noviembre 2010, 06:09 am »

Hola, queria preguntarte algo.
Datos dat = new Datos();
Que es exactamente, al parecer es una herencia de Frame o de Dialog.
Si es de Dialog se puede utilizar establecer modal igual a false (setModal(false)) para que no se te pegue ahi.
Ahora si es Frame, por lo que yo se no tiene esa función y necesariamente (para mi desgracia que en la idea me gusta usar pocos Threads lo justo y necesario) crear un nuevo thread que contenga "setVisible(true)" y asi evitas que no se pegue.

Saludos!!


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #2 en: 27 Noviembre 2010, 06:16 am »

Es un frame, egyware. ¿Así que solo puedo usar un thread para esto?
En línea

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


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #3 en: 27 Noviembre 2010, 06:23 am »

Si al parecer no queda de otra
estuve buscando algo parecido al setModal que tienen los Dialog, pero no encontré nada
http://download.oracle.com/javase/6/docs/api/java/awt/Frame.html

talvez si usas un frame y varios Dialog podrias hacerlos modales onda que esperen hasta que se cierren

mmm creo que entendi mal tu problema, tu quieres que se cierren el formulario y asi sacar los datos? o es otra cosa?
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #4 en: 27 Noviembre 2010, 06:35 am »

Sí, yo quiero que trabaje el segundo formulario y que el primero espere hasta que haya terminado, cuando haya terminado el segundo, recoger los datos desde el primero.
En línea

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


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #5 en: 27 Noviembre 2010, 06:42 am »

cuanto tu cierras la ventana, deberia seguir la ejecución exactamente donde tu hiciste setVisible(true)
por lo menos eso tengo entendido.

Saludos
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #6 en: 27 Noviembre 2010, 06:48 am »

Lo curioso es que sigue la ejecución, pongo un JOptionPane.showMe... y lo muestra instantaneamente al crear el objeto Datos. :(
En línea

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


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #7 en: 27 Noviembre 2010, 06:50 am »

ahi no se, te sugiero que revises la documentación http://download.oracle.com/javase/6/docs/api/javax/swing/JOptionPane.html

ya yo me retiro por hoy, espero que las respuestas que den la solución
Saludos!!
En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Esperar hasta que formulario termine
« Respuesta #8 en: 27 Noviembre 2010, 08:27 am »

-tu formulario tiene que ser una clase que herede de jdialogo que tenga constructor que reciva un frame y un bolean
-tienes que conocer como trabajar con geters y seters

Código:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;

public class FrmPrincipal extends JFrame {

private static final long serialVersionUID = 1L;
private JButton jButton = new JButton("presioname");
private JTextField jLabel = new JTextField("respuesat");

public FrmPrincipal() {
intialise();
}

public void intialise() {
jLabel.setBorder(new BevelBorder(BevelBorder.RAISED));
jButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
jbuton_actionPerformed(e);
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new FlowLayout());
getContentPane().add(jLabel);
getContentPane().add(jButton);

pack();
}

public void jbuton_actionPerformed(ActionEvent e) {
FrmProducto frmData = new FrmProducto(this, true);
frmData.setVisible(true);
String respuesta = frmData.getDato();
jLabel.setText(respuesta);
}

public static void main(String arg[]) {
FrmPrincipal frmPrincipal = new FrmPrincipal();
frmPrincipal.setVisible(true);
}
}

Código:
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class FrmProducto extends JDialog {

private static final long serialVersionUID = 1L;
private JTextField jTextField = new JTextField("ingrese aqui el dato");

public FrmProducto(JFrame frame, Boolean modal) {
super(frame, modal);
initialise();
}

public void initialise() {
getContentPane().add(jTextField);
pack();
}

public String getDato() {
return jTextField.getText();
}
}
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Esperar hasta que formulario termine
« Respuesta #9 en: 27 Noviembre 2010, 21:57 pm »

Gracias, voy a probarlo y ya comento.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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