[NetBeans] JDialog dentro de un JFrame

Iniciado por ~ Yoya ~, 6 Marzo 2011, 22:40 PM

0 Miembros y 1 Visitante están viendo este tema.

~ Yoya ~

Buenas, estoy intentando abrir un JDialog desde un JFrame. Tengo un jMenuItem que al hacer click, se abre el JDialog pero no abre y no se porque xD (Algo como el típico Acerca de xD).

Aquí donde creo que esta el problema.

el main
Código (java) [Seleccionar]
public class generador {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        IkaGui ika_gui = new IkaGui();


        ika_gui.setLocationRelativeTo(null);
        ika_gui.setVisible(true);


    }

}


IkaGui.java
Código (java) [Seleccionar]
private void jMenuItem7MouseClicked(java.awt.event.MouseEvent evt) {                                       
        // TODO add your handling code here:
        About dial = new About(new IkaGui(),true);
        dial.setLocationRelativeTo(null);
        dial.setVisible(true);
    }




Saludos
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

visualfree

aca te hice un ejemplito espero te sirva.


import javax.swing.*;

import java.awt.BorderLayout;
import java.awt.event.*;
public class Ayuda {
public static void main(String[] args) {
NuevaVentana v=new NuevaVentana();
v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
v.setVisible(true);
}

}
class NuevaVentana extends JFrame{
JMenuBar mnu=new JMenuBar();
JMenu mnuArchivo=new JMenu("Archivo");
JMenuItem mnuAbrirDialogo=new JMenuItem("Abrir Dialogo");
public NuevaVentana(){
mnu.add(mnuArchivo);
mnuArchivo.add(mnuAbrirDialogo);
this.setTitle("Prueba JDialog");
this.setSize(ancho,largo);
this.add(mnu,BorderLayout.NORTH);
Oyente o=new Oyente();
mnuAbrirDialogo.addActionListener(o);

}
class Oyente implements ActionListener{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null,"Mostrar Dialogo");
}
}

private static final int ancho=200;
private static final int largo=200;
}

~ Yoya ~

Código (java) [Seleccionar]
JOptionPane.showMessageDialog

Estoy tratando de hacerlo con un JDialog ya que diseñe la Gui.

Cuando intento abrir el JDialog pulsando un JButton abre correctamente pero al utilizar un jMenuItem no abre...

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Leyer

#3
En ves de un MouseListener agregale un ActionListener.

Y cuando instancias la clase About

Código (java) [Seleccionar]
About dial = new About(new IkaGui(),true);

No debes pasarle otra instancia de IkaGui si no la referencia, usa this.

Tambien debe tener en cuanta que cada ves que quieres mostrar about estas creando una nueva instancia de esta, solo harias que fuera lento, mejor opcion es colocar dentro de IKaGui

Código (java) [Seleccionar]
private About dial=null;

Y cuando cuando quieras mostrar about haces lo siguiente.

Código (java) [Seleccionar]
if(dial instanceof About)dial.setVisible(true);
else
dial = new About(this,true);


Un saludo.

~ Yoya ~

SI, al agregar un ActionListener funciono. Gracia por los tips Leyer.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.