Páginas

miércoles, 29 de febrero de 2012

Como llamar un JDialog desde otro jDialog JAVA

usando Netbeans para uno de mis desarrollos tropecé con el siguiente problema como llamar un jDialog previamente creado desde otro JDialog el problema esta en que Netbeans crea el código automáticamente y se debe modificar con cuidado, la solución:

Seleccionamos nuestro paquete clic derecho Nuevo -> Otro -> Swing GUI Forms -> JDialog Form o OK / Cancel Dialog Sample Form


Debemos modificar los argumentos para que reciba un JDialog

public NewOkCancelDialog(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        String cancelName = "cancel";
        InputMap inputMap = getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
        inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), cancelName);
        ActionMap actionMap = getRootPane().getActionMap();
        actionMap.put(cancelName, new AbstractAction() {

            public void actionPerformed(ActionEvent e) {
                doClose(RET_CANCEL);
            }
        });

}


así javax.swing.JDialog


Y en:


public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                NewOkCancelDialog dialog = new NewOkCancelDialog(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {

                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }



Por javax.swing.JDialog

Y listo ya podemos llamarlo desde otro JDialog !!!