Идея проста. используйте dispose (), если вы собираетесь создать новый экземпляр диалогового окна или формы в следующий раз, когда вы будете использовать его и setVisible (false), чтобы просто скрыть его на некоторое время, и setVisible (true), когда вы захотите показать его снова .
Этот код является примером последнего случая из JDialog:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// OK Button pressed
rowId = jTable1.getSelectedRow();
setVisible(false);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// Cancel Button pressed
rowId = -1;
setVisible(false);
}