Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ~ Yoya ~ en 6 Marzo 2011, 22:40 pm



Título: [NetBeans] JDialog dentro de un JFrame
Publicado por: ~ Yoya ~ en 6 Marzo 2011, 22:40 pm
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
  1. public class generador {
  2.  
  3.    /**
  4.      * @param args the command line arguments
  5.      */
  6.    public static void main(String[] args) {
  7.        // TODO code application logic here
  8.        IkaGui ika_gui = new IkaGui();
  9.  
  10.  
  11.        ika_gui.setLocationRelativeTo(null);
  12.        ika_gui.setVisible(true);
  13.  
  14.  
  15.    }
  16.  
  17. }

IkaGui.java
Código
  1. private void jMenuItem7MouseClicked(java.awt.event.MouseEvent evt) {                                        
  2.        // TODO add your handling code here:
  3.        About dial = new About(new IkaGui(),true);
  4.        dial.setLocationRelativeTo(null);
  5.        dial.setVisible(true);
  6.    }
  7.  


Saludos


Título: Re: [NetBeans] JDialog dentro de un JFrame
Publicado por: visualfree en 6 Marzo 2011, 23:00 pm
aca te hice un ejemplito espero te sirva.

Código:
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;
}


Título: Re: [NetBeans] JDialog dentro de un JFrame
Publicado por: ~ Yoya ~ en 6 Marzo 2011, 23:12 pm
Código
  1. 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...



Título: Re: [NetBeans] JDialog dentro de un JFrame
Publicado por: Leyer en 6 Marzo 2011, 23:27 pm
En ves de un MouseListener agregale un ActionListener.

Y cuando instancias la clase About

Código
  1. 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
  1. private About dial=null;

Y cuando cuando quieras mostrar about haces lo siguiente.

Código
  1. if(dial instanceof About)dial.setVisible(true);
  2. else
  3. dial = new About(this,true);

Un saludo.


Título: Re: [NetBeans] JDialog dentro de un JFrame
Publicado por: ~ Yoya ~ en 6 Marzo 2011, 23:52 pm
SI, al agregar un ActionListener funciono. Gracia por los tips Leyer.

Saludos.