• Domingo 22 de Diciembre de 2024, 03:25

Autor Tema:  Abrir Ventana Al Pulsar Opcion De Menu  (Leído 12873 veces)

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Abrir Ventana Al Pulsar Opcion De Menu
« en: Miércoles 11 de Junio de 2008, 10:17 »
0
Saludos, quiero que el usuario de mi aplicacion cuando pulse una opcion del menu, le aparezca una ventana con tres botones y una etiqueta dentro. Esto lo hago en el ActionListener del item del menu creo, pero en mi clase para crear la ventana de que tengo que extender (o el implements o algo de eso) de JWindow, de JFrame ... porque de JDialog me crea una modal y de JDesktopPane no se.

Muchas gracias.

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Re: Abrir Ventana Al Pulsar Opcion De Menu
« Respuesta #1 en: Viernes 13 de Junio de 2008, 15:46 »
0
Alguien me puede ayudar para ver como pueden aparecer los tres botones en la parte superior derecha ? es que solo sale el de cerrar, y que heredo de JDialog.

Muchas gracias.

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Abrir Ventana Al Pulsar Opcion De Menu
« Respuesta #2 en: Viernes 13 de Junio de 2008, 17:42 »
0
No soy adivino para saber como lo tiene implementado, pero esto le puede aclarar un poco:

http://www.chuidiang.com/chuwiki/index.php...Frame_y_JDialog
http://www.chuidiang.com/chuwiki/index.php..._un_ActionEvent

warache

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Abrir Ventana Al Pulsar Opcion De Menu
« Respuesta #3 en: Viernes 13 de Junio de 2008, 19:37 »
0
Hola:

Por lo de los botones, es porque estas heredando la clase de un JDialog y por el hecho de ser asi un Dialogo no se puede ni maximizar ni minimizar, por lo de el problema del menu puedes hacer una clase aparte como un jframe y hacer en el listener del menuitem algo parecido como esto

bueno el codigo no es exacto porque nome acuerdo bien de la sintaxis por el momento pero aqui esta algo:

MenuItem nuevo=new MenuItem("Nueva Ventana");
....
....
actionlistener(ActionEvent e){
...
if(e.getActionCommand().equalsTo("Nueva Ventana")){
VentanaNueva dos=new VentanaNueva();
dos.setVisible(true);
}

Otra cosa, para facilitar problemas como este, puedes usar Eclipse, que es una plataforma para programar en Java, y te recomiendo bajar e instalar el Visual Editor.... :D

 :P  pues con esto espero haber aclarado un poco tu problema, cualquier cosa haslo saber  :lol:  :D

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Re: Abrir Ventana Al Pulsar Opcion De Menu
« Respuesta #4 en: Lunes 16 de Junio de 2008, 14:32 »
0
Si, pero en mi clase principal, que es esta:

public class Proyecto extends JPanel

y dentro de esta clase principal tengo:

  public static void main(String args[]) throws IOException
  {
    try
    {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch(Exception exception)
    {
      exception.printStackTrace();
    }

  principal=new JFrame();
    ......
  }

Dentro de esta clase principal tengo los actionListener que se ejecutan cuando se selecciona una opcion del menu.

La clase que muestra la ventana cuando hago click en esa opcion del menu, puede heredar tambien de JFrame, aunque haya declarado un frame ya en la clase principal ??

Espero que me haya explicado.

warache

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Abrir Ventana Al Pulsar Opcion De Menu
« Respuesta #5 en: Lunes 23 de Junio de 2008, 00:01 »
0
Claro, puedes tener tantos JFrame como quieras en tu aplicacion, pero es logico que los listeners no se heredan puesto que a cada tipo de componente dentro de un JFrame de pertenece un listener y no se puede reutilizar por el solo hecho de que el jframe sea heredado.

Otra cosa, tu clase Proyecto hereda de un JPanel y el codigo que tienes en el main es:

principal=new JFrame();

Algo que no me queda claro con esto es(lo dibujare como un arbol):

+JFrame: Principal.
 |__main()
      |__setContentPane(new Proyecto())     <--- para mi esto seria lo mas logico, en vez de tener el main dentro del jpanel, porque no tenerlo dentro del jframe?

Otra cuestion a partir de esto es:

Tienes dos clases, una Proyecto(JPanel) y Principal(JFrame)?

si esto es asi, lo mas logico es que:
1. pongas el main en el JFrame y no en el JPanel, no se si me explique con esto.
2. Los listeners los pongas en el JFrame, que es la superclase en este caso.

Bueno, cualquier cosa postealo... Saludos  :hola:  :good: