Quote Originariamente inviata da Pierock Visualizza il messaggio
ho la necessità di creare diversi JDialog, tutti quanti accomunati da molte caratteristiche, quali tipo di pulsanti.
Ho create dunque una classe astratta (AbsDialogOK_ANN) che estende JDialog, la quale ha già tutte le impostazioni che servono;
look and feel, layout e pulsalti...
Scusa la domanda iniziale: ma JOptionPane non ti bastava? (cioè mettere un pannello come "message" del JOptionPane).

Quote Originariamente inviata da Pierock Visualizza il messaggio
la mia idea è dunque quella di estendere questa classe astratta ogni volta che mi serve un jdialog con pulsanti Ok e Annulla, semplicemente facendo un Override del metodo che restituisce il pannello centrale (getCentralPane).
Di per sé, concettualmente, non fa una piega ma .... c'è un "piccolo" dettaglio che va considerato in questi casi: chi invoca getCentralPane? Lo invoca il costruttore della classe base astratta? Se così bisogna stare mooooolto attenti! Detto in generale: un costruttore non dovrebbe mai invocare un metodo che può essere ridefinito in una sotto-classe. E se proprio è necessario farlo, chi scrive le sotto-classi (e in particolare quel metodo ridefinito) deve essere ben a conoscenza di questo aspetto e scrivere la sottoclasse in modo da non causare problemi.

Quote Originariamente inviata da Pierock Visualizza il messaggio
Il problema è che la dimesione del jdialog creato attualmente è unica, ovvero il setSize viene effettuato nel costruttore della classe astratta.
Al fine di rendere la dimensione indipendente, sembrerebbe banale spostare la definizione di questi parametri nelle future classi figlie, ma una volta fatto, si, correggo le dimensioni, ma non so per quale motivo .. quando eseguo una qualsiasi azione, mi risultano nulli tutti gli oggetti (JTextField) che ho creato nel metodo getCentralPane.
Se ti basta che la dialog sia alla dimensione minima/giusta cioè i componenti siano alla loro dimensione "preferita", basta fare un pack() sulla dialog.