2010-04-28 8 views
6

Vorrei sapere come posso fare un messageBox da tre finestra di ingresso ..Come arrivare JOptionPane con tre campi di testo

Ti piace questa:

JOptionPane.showInputMessageDialog("Enter your FirstName"); 
JOptionPane.showInputMessageDialog("Enter your MiddleName"); 
JOptionPane.showInputMessageDialog("Enter your LastName"); 

ma voglio un messaggio ha un ingresso a tre scatole.

risposta

1

Non è possibile farlo con JOptionPane. Crea un JDialog e aggiungi tre JTextField ad esso. Un JDialog bloccherà il chiamante quando si chiama setVisible(true), quindi è facile creare una finestra di dialogo che attende l'input dell'utente prima che ritorni.

1

showInputMessageDialog ei suoi fratelli sono semplici modi per creare una semplice finestra di dialogo "standard". Per i dialoghi più complicati, sono abbastanza sicuro che dovrai sottoclassi lo JDialog o simili.

3

Costruire un JPanel (supose è chiamato InputPanel) con le tre JtextFields per inserire e poi fare questo:

if (JOptionPane.YES_OPTION == JOptionPane.showconfirmDialog(
    parentComponent, inputPanel, "Enter your data", JOptionPane.YES_NO_OPTION) { 

    // retrieve data from the JTextFields and do things 

} else { 

    // User close the dialog, do things... or not 

} 
+0

codice riformattato; per favore, ripristina se non è corretto. – trashgod

1

Come Telcontar ha suggerito è possibile aggiungere componenti Swing (come un JPanel) in un riquadro un'opzione. Quindi è facile trarre vantaggio dalla creazione automatica di pulsanti piuttosto che farlo da zero creando il proprio JDialog.

Tuttavia, c'è un piccolo problema. L'attenzione sarà sul primo pulsante, non sul primo componente del pannello. Per ovviare a questo problema, puoi provare la soluzione presentata in Dialog Focus.

-1

potete trovare il tutorial di Java Esempio di serie qui:

Click Here to Open the example java file

L'esempio ha solo una casella di testo, ma l'esempio è abbastanza chiaro per voi per estenderlo.

+0

No, non lo è. C'è l'intera questione di messa a fuoco. –

+0

Potrebbe interessarti elaborare per favore? – Sampath