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

Problemas con los Eventos en Java

Estas en el tema de Problemas con los Eventos en Java en el foro de Java en Foros del Web. Hola. como todo novato que recien se embarca en programacion java tengo muchos problemas. Estoy haciendo un programa donde genero un jpanel como ventana y ...
  #1 (permalink)  
Antiguo 09/06/2009, 18:11
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años, 1 mes
Puntos: 1
Problemas con los Eventos en Java

Hola. como todo novato que recien se embarca en programacion java tengo muchos problemas. Estoy haciendo un programa donde genero un jpanel como ventana y luego desde el programa principal lo llamo a traves de un Jdialog (o en otros caso desde un jinternal frame, para el fin es lo mismo). El tema se me presenta a la hora de programar el evento de cancelar la ventana ya que no se de que forma hacer para que desde la clase panel que genero, el boton cancelar cierre el jdialog que se encuentra en la clase principal.

Aca les pongo el codigo

Cita:
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.awt.Event;
import java.awt.LayoutManager;

import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Dimension;
import java.awt.Point;



public class Principal extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton jButton = null;
private JDialog dialogo = new JDialog(this,"Hola",true);

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("Llamado a la siguiente Ventana");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
llamada();
}
});
}
return jButton;
}

private void llamada(){
Ventana vent = new Ventana();
dialogo.add(vent);
dialogo.setVisible(true);
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Principal thisClass = new Principal();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_ CLOSE);
thisClass.setVisible(true);
}
});
}

/**
* This is the default constructor
*/
public Principal() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
dialogo.setSize(new Dimension(200, 100));
dialogo.setLocation(new Point(100, 100));
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJButton(), BorderLayout.NORTH);
}
return jContentPane;
}

}
Cita:
import java.awt.GridBagLayout;

import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import javax.swing.JLabel;

import sun.java2d.Disposer;

import java.awt.Dimension;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;

public class Ventana extends JPanel {

private static final long serialVersionUID = 1L;
private JButton jButton = null;
private JButton jButton1 = null;
private JLabel jLabel = null;


/**
* This is the default constructor
* @param dialogo
* @param i
*/
public Ventana() {
super();
initialize();

}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.gridx = 0;
gridBagConstraints2.gridwidth = 2;
gridBagConstraints2.gridy = 0;
jLabel = new JLabel();
jLabel.setText("Esta es una ventana comun");
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.insets = new Insets(0, 0, 0, 0);
gridBagConstraints1.gridy = 1;
gridBagConstraints1.ipadx = 0;
gridBagConstraints1.ipady = -2;
gridBagConstraints1.gridx = 1;
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.insets = new Insets(0, 0, 0, 0);
gridBagConstraints.gridy = 1;
gridBagConstraints.ipadx = 0;
gridBagConstraints.ipady = -1;
gridBagConstraints.gridx = 0;
this.setSize(232, 93);
this.setLayout(new GridBagLayout());
this.add(getJButton(), gridBagConstraints);
this.add(getJButton1(), gridBagConstraints1);
this.add(jLabel, gridBagConstraints2);
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("Aceptar");
}
return jButton;
}

/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setText("Cancelar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {

}
});
}
return jButton1;
}



} // @jve:decl-index=0:visual-constraint="10,25"
  #2 (permalink)  
Antiguo 11/06/2009, 02:08
 
Fecha de Ingreso: abril-2009
Mensajes: 82
Antigüedad: 15 años
Puntos: 2
Respuesta: Problemas con los Eventos en Java

Buenas:

No se si te he entendido bien: lo que quieres es cerrar el JDialog desde la ventana principal (o desde el JPanel)?

Si es así, solo tendras que guardar una referencia del JDialog, y cuando quieras aplicarle su dispose() correspondiente para cerrarlo.

Espero que sea eso lo que preguntases. Sino a ver si puedes explicarlo un poco mejor.

Saludos.
  #3 (permalink)  
Antiguo 11/06/2009, 16:16
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Problemas con los Eventos en Java

Gracias por respoderme. pero ya me ayudaron. Y es lo mismo que me comentas vos. Gracias por preocuparte
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 21:09.