2012-02-17 12 views
5

Questo è un crosspost al thread in Javaranch (comprende alcune immagini): http://www.coderanch.com/t/567472/GUI/java/Optimal-solution-creating-multiple-dialogJOptionPane vs. JDialog

Sto cercando di sviluppare una semplice applicazione desktop altalena dove immagino un sacco di salto diverso di dialogo intorno a prendere utente ingresso. Avrebbe bisogno di presentare etichette, campi di testo, campi password, combobx, caselle di controllo, ecc in varie finestre di dialogo.

Per esempio: la creazione del database in prima persona, creando il primo account amministratore, l'aggiunta di utenti, cambiando gli account utente, ecc

ho una comprensione che JOptionPane viene utilizzato per creare semplici rapidi & facile finestra di dialogo modale di. Mi piacerebbe davvero sapere perché in questo caso si scegliere uno su un altro. Quale è più preferibile usare: JOptionPane vs. JDialog

Inoltre, potrei usare alcuni indicatori su come dovremmo progettarlo e implementarlo in modo appropriato.

Grazie.

+0

ecco un buon tutorial per i principianti su come usarli: http://www.thepcwizard.in/2012/05/working-with-jdialog-and-joptionpane-in.html – ThePCWizard

risposta

2

Check out http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html praticamente ha tutto il necessario.

Come ho capito, JOptionPane è ottimo per quello che può fare, ma non si può davvero cambiare la funzionalità al di là di questo (non facilmente). È preferibile ereditare JDialog se si desidera creare finestre di dialogo personalizzate.

8

Ecco una dichiarazione che ho trovato sul sito Web Java che indica un punto chiave sulla differenza tra i due.

How to make Dialogs

una finestra può essere modale. Quando una finestra di dialogo modale è visibile, blocca l'input dell'utente a tutte le altre finestre del programma. JOptionPane crea JDialogs che sono modali. Per creare una finestra di dialogo non modale, è necessario utilizzare direttamente la classe JDialog.

Quindi sembra che usereste JOptionPane se volete che un utente debba fare una scelta e chiudere la finestra prima di tornare alla schermata principale. Se si utilizza una casella JDialog, è sufficiente fare clic su di essa e tornare alla schermata principale senza fare una scelta. Ad esempio, supponiamo che desideri far scegliere a un utente il numero di risultati prima di fare clic su Invia, non vorresti che siano in grado di fare clic intorno a tale finestra e fare clic su Invia. Dovresti usare JOptionPane per costringerli a selezionare un valore prima di tornare a inviare.

+0

+1 - punto importante per cosa lui vuole fare –