Да, и вам не нужно делать окно модальным, чтобы сделать это (хотя сделать его модальным было бы проще всего).
Просто сделайте что-то вроде следующего
В ваших членских делках:
private final MyDialog dialog = new MyDialog();
В вашем коде:
private void showDialog() {
dialog.setVisible(true);
dialog.requestFocus(); // May be needed to bring window to front
}
Это позволит вам создать экземпляр только один раз. Просто вызывайте showDialog () при каждом нажатии кнопки.