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

Abrir JDialog

Estas en el tema de Abrir JDialog en el foro de Java en Foros del Web. Hola, Tengo el siguiente problema: Tengo creado un JFrame donde hay un JMenuBar y dos JMenu dentro de este. Quiero que cuando se haga click ...
  #1 (permalink)  
Antiguo 22/12/2007, 11:06
kronos_
Invitado
 
Mensajes: n/a
Puntos:
Abrir JDialog

Hola,

Tengo el siguiente problema: Tengo creado un JFrame donde hay un JMenuBar y dos JMenu dentro de este. Quiero que cuando se haga click sobre uno de ellos, se me abre un ventana tipo popup (JDialog? pero no soy capaz de hacerlo.

¿Alguien me puede ayudar? Utilizo NetBeans 6.0.

Muchas Gracias.
  #2 (permalink)  
Antiguo 22/12/2007, 14:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Abrir JDialog

Creas el JDialog, le pones un texto, le das tamaño y le das setVisible(true).

Para hacer que capture el evento de ratón, puedes hacerlo de muchas maneras, yo tengo creada una clase interna que lo hace, pero puedes también hacerlo en mitad del programa.

Saludos.
  #3 (permalink)  
Antiguo 23/12/2007, 14:58
kronos_
Invitado
 
Mensajes: n/a
Puntos:
Re: Abrir JDialog

He creado los JDialog dentro del Form (tengo los JDialogs donde pone Other Components y el Jframe debajo). Selecciono el JMenuItem y le doy a Event->MouseClicked, pero no se que codigo tengo que poner ahi para que se me abra el JDialog.
He probado con this.(nombre del JDialog).setVisible(true); y con (nombre del JDialog).setVisible(true); y ninguno de los dos me funciona.
Si alguien me pudiese orientar se lo agradeceria.

Muchas gracias.
  #4 (permalink)  
Antiguo 27/12/2007, 17:13
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Abrir JDialog

luego te paso un código por privado, ¿vale?
  #5 (permalink)  
Antiguo 28/12/2007, 09:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 3
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Abrir JDialog

Hola

Si lo que deseas es mostrar un mensaje o una cosa que no necesite un gran complique, porque no usas JOptionPane.

En el caso en que si te sirva aqui hay un ejemplo que podrias usar como base. Aunque estan los dos (JoptionPane y JDialog)

Código:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Ventana extends JFrame implements ActionListener
{
	JMenuBar barraMenu;
	JMenu menu;
	JMenuItem item;

	Ventana()
	{
		barraMenu = new JMenuBar();
	
		menu = new JMenu ("Menu");
		barraMenu.add(menu);
	
		item = new JMenuItem("Prueba");
		item.addActionListener(this);
		menu.add(item);
		
		getContentPane().add(barraMenu, BorderLayout.NORTH);
		
		WindowListener l = new WindowAdapter() {
        			public void windowClosing(WindowEvent e) {
			System.exit(0);
        			}
	    	};
		addWindowListener(l);

		pack();
		setVisible(true);
	}

	

	public void actionPerformed(ActionEvent e)
	{
		Object source = e.getSource();
		if(source == item)
		{
			// Con JOptionPane. Si te sirve quita el comentario de la linea siguiente.
			//  JOptionPane.showMessageDialog(null, "PRUEBA");

			JDialog dialog = new JDialog(this, "PRUEBA");
			dialog.getContentPane().add(new JTextArea("Prueba"));
			dialog.setSize(100,100);
			dialog.show();
			

			
		}
	}

	public static void main(String arg[])
	{
		Ventana v = new Ventana();
	}

}
Es algo que hice de carreron, logicamente se podria programar mas "bonito" espero te sirva.
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 12:08.