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

Pasar valor de JDialog a JFrame

Estas en el tema de Pasar valor de JDialog a JFrame en el foro de Java en Foros del Web. Hola Amigos del foro necesito su ayuda! Estoy creando un programa de escritorio sobre ventas de articulos. esto es lo que estoy haciendo: estoy ejecutando ...
  #1 (permalink)  
Antiguo 25/10/2011, 07:32
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Exclamación Pasar valor de JDialog a JFrame

Hola Amigos del foro necesito su ayuda!

Estoy creando un programa de escritorio sobre ventas de articulos.
esto es lo que estoy haciendo:

estoy ejecutando un Jframe que tiene todo el formulario a registrar un producto y en la parte del proveedor (que es un JComboBox editable) si no existe el proveedor llamar al JDialog para que lo registre.

Una vez que ya introduje los datos (y aqui es adonde esta mi problema) es que agarre el valor del Proveedor que introduje en el JDialog y lo almacene en el JComboBox del JFrame padre.

Espero que me puedan ayudar sobre esto y muchas gracias a todos!
__________________
Visita a Publiventa donde compras y vendes de todo
  #2 (permalink)  
Antiguo 25/10/2011, 14:25
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Pasar valor de JDialog a JFrame

Alguna Ayurda!! por favor
__________________
Visita a Publiventa donde compras y vendes de todo
  #3 (permalink)  
Antiguo 25/10/2011, 15:11
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Pasar valor de JDialog a JFrame

Hola,

Cita:
Iniciado por gustavopino Ver Mensaje
... Una vez que ya introduje los datos (y aqui es adonde esta mi problema) es que agarre el valor del Proveedor que introduje en el JDialog y lo almacene en el JComboBox del JFrame padre. ...
La variable que contiene el objeto JDialog todavía es accesible despues de mostrar el diálogo modal. Por ejemplo:

JDialogReport01 repo = new JDialogReport01(this, true);
repo.setVisible(true);

En este momento la variable repo tiene acceso a todos lo que sea público en el JDialog, y el JDialog no continua la ejecución del código porque es modal. Una ves que cierre la ventana modal continua con la siguiente instrucción:

repo.jTextField1.getText();

Sino son públicos puedes implementar getters para obtener los componentes, o puedes guardar los valores en variables publicas temporalmente. Si la ventana no es modal entonces deberás implementar EventListeners y eso es otra historia.

Saludos,
  #4 (permalink)  
Antiguo 25/10/2011, 15:26
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Pasar valor de JDialog a JFrame

Amigo entiendo todo lo que me dices pero una vez que cierre la ventana modal como hago para que una vez que cierre la ventana se muestre en el jComboBox si me puedes ilustrar con un fragmento de codigo te agradeceria

Y muchisimas gracias por responder
__________________
Visita a Publiventa donde compras y vendes de todo
  #5 (permalink)  
Antiguo 25/10/2011, 15:52
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Pasar valor de JDialog a JFrame

Alguna ayuda! por favor
__________________
Visita a Publiventa donde compras y vendes de todo
  #6 (permalink)  
Antiguo 25/10/2011, 17:11
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Pasar valor de JDialog a JFrame

Hola,

Cita:
Iniciado por gustavopino Ver Mensaje
Amigo entiendo todo lo que me dices pero una vez que cierre la ventana modal como hago para que una vez que cierre la ventana se muestre en el jComboBox si me puedes ilustrar con un fragmento de codigo te agradeceria ...
Posiblemente puedes usar algo así:

Código Java:
Ver original
  1. String valor = repo.jTextField1.getText();
  2. jComboBox1.addItem(valor);
  3. jComboBox1.setSelectedItem(valor);

Saludos,
  #7 (permalink)  
Antiguo 25/10/2011, 18:24
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Pasar valor de JDialog a JFrame

Gracias por todo amigo HackmanC
__________________
Visita a Publiventa donde compras y vendes de todo
  #8 (permalink)  
Antiguo 25/10/2011, 20:31
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Pasar valor de JDialog a JFrame

alguien puede aportar mayor informacion sobre el tema por favor, es que no entiendo muy bien lo que me explicaron
__________________
Visita a Publiventa donde compras y vendes de todo
  #9 (permalink)  
Antiguo 26/10/2011, 13:21
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Pasar valor de JDialog a JFrame

Hola,

Cita:
Iniciado por gustavopino Ver Mensaje
... estoy ejecutando un Jframe que tiene todo el formulario a registrar un producto y en la parte del proveedor (que es un JComboBox editable) si no existe el proveedor llamar al JDialog para que lo registre.

Una vez que ya introduje los datos (y aqui es adonde esta mi problema) es que agarre el valor del Proveedor que introduje en el JDialog y lo almacene en el JComboBox del JFrame padre. ...
Por ejemplo:

Un JDialog simple, lo único que tiene adentro es un TextField para poder ingresar un nombre; lo único que hace ese JDialog es desplegar un espacio vacío para que puedas ingresar un dato que vamos a pasar al JComboBox editable del JFrame padre:

Código Java:
Ver original
  1. public class MyJDialog extends javax.swing.JDialog {
  2.  
  3.     public javax.swing.JTextField jTextField1;
  4.  
  5.     public MyJDialog(java.awt.Frame parent, boolean modal) {
  6.         super(parent, modal);
  7.         initComponents();
  8.     }
  9.  
  10.     private void initComponents() {
  11.         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  12.         jTextField1 = new javax.swing.JTextField();
  13.         jTextField1.setText("Hello");
  14.         getContentPane().add(jTextField1, java.awt.BorderLayout.CENTER);
  15.         pack();
  16.     }
  17.  
  18. }

Como ya tenemos el JDialog ahora vamos a crear un JFrame con el JComboBox editable y en este caso, a forma de ejemplo, va a mostrar el JDialog y va a pasar el valor ingresado solamente cuando se presione la tecla Enter.

Es decir, cuando presiones la tecla Enter en el JComboBox entonces va a mostrar el JDialog, y al cerrar el JDialog entonces va a mostrar el valor que se ingresó en el espacio vacío del diálogo en el JComboBox del JFrame. (Para cerrarlo tendrás que usar la X del ícono de control de la ventana en este ejemplo.)

Código Java:
Ver original
  1. ...
  2.             MyJDialog dialog = new MyJDialog(this, true);
  3.             dialog.setVisible(true);
  4.             jComboBox1.addItem(dialog.jTextField1.getText());
  5.             jComboBox1.setSelectedItem(dialog.jTextField1.getText());
  6. ...

Y el código del JFrame completo:

Código Java:
Ver original
  1. public class MyJFrame extends javax.swing.JFrame {
  2.  
  3.     private javax.swing.JComboBox jComboBox1;
  4.  
  5.     public MyJFrame() {
  6.         initComponents();
  7.     }
  8.  
  9.     private void initComponents() {
  10.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  11.         jComboBox1 = new javax.swing.JComboBox();
  12.         jComboBox1.setEditable(true);
  13.         jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"Item 1", "Item 2", "Item 3", "Item 4"}));
  14.         jComboBox1.getEditor().getEditorComponent().addKeyListener(new java.awt.event.KeyAdapter() {
  15.             public void keyReleased(java.awt.event.KeyEvent evt) {
  16.                 jComboBox1KeyReleased(evt);
  17.             }
  18.         });
  19.         getContentPane().add(jComboBox1, java.awt.BorderLayout.CENTER);
  20.         pack();
  21.     }
  22.  
  23.     private void jComboBox1KeyReleased(java.awt.event.KeyEvent evt) {
  24.         if (evt.getKeyChar() == java.awt.event.KeyEvent.VK_ENTER) {
  25.             MyJDialog dialog = new MyJDialog(this, true);
  26.             dialog.setVisible(true);
  27.             jComboBox1.addItem(dialog.jTextField1.getText());
  28.             jComboBox1.setSelectedItem(dialog.jTextField1.getText());
  29.         }
  30.     }
  31.  
  32.     public static void main(String[] args) {
  33.         java.awt.EventQueue.invokeLater(new Runnable() {
  34.             public void run() {
  35.                 new MyJFrame().setVisible(true);
  36.             }
  37.         });
  38.     }
  39.  
  40. }

Ahora, prueba a crear el JDialog y el JFrame en un proyecto, y mira como pasé el valor del JDialog.JTextField al JFrame.JComboBox, y si tienes alguna duda específica consulta de nuevo, porque no sé que parte es la que no entendiste anteriormente.

Saludos,

Etiquetas: jdialog, jframe
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 10:38.