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 !!!
Buenisimo, me ayudo mucho para solucionar mi problema, gracias!! Solo un pequeño detalle, el primer remplazo debe ser por javax.swing.JDialog parent, y no solo javax.swing.JDialog.
ResponderEliminarMuchas Gracias
Sos un genio! Muchisimas gracias!!
ResponderEliminar¡EXCELENTE!!! GRACIAS POR COMPARTIR!!!
ResponderEliminar¡COMO DIJO Gipriest!
¡ERES un GENIO!!!
No me entero del código, yo necesito meter en un jdialog padre otros jdialog respetando layout.
ResponderEliminarGracias
como ejecutas el super si paren no es un Frame???
ResponderEliminar