Lorsque l'utilisateur clique sur un bouton, je souhaite afficher un formulaire contextuel qui doit contenir au moins deux JTextFields et deux JLabels, donc l'utilisation de JOptionPane.showInputDialog
n'est pas possible.Formulaire java popup simple avec au moins deux champs
14
A
Répondre
39
Vous devriez au moins considérer l'une des méthodes JOptionPane
telles que showInputDialog()
ou showMessageDialog()
.
Addendum: Le choix d'utiliser JOptionPane
dépend davantage de la pertinence de la modalité, plutôt que du nombre de composants représentés. Voir aussi How to Make Dialogs.
Addendum: Comme indiqué dans un commentaire de @camickr, vous pouvez définir le focus sur un composant particulier en utilisant l'approche décrite dans Dialog Focus, citée here.
package gui;
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.*;
/** @see https://stackoverflow.com/a/3002830/230513 */
class JOptionPaneTest {
private static void display() {
String[] items = {"One", "Two", "Three", "Four", "Five"};
JComboBox<String> combo = new JComboBox<>(items);
JTextField field1 = new JTextField("1234.56");
JTextField field2 = new JTextField("9876.54");
JPanel panel = new JPanel(new GridLayout(0, 1));
panel.add(combo);
panel.add(new JLabel("Field 1:"));
panel.add(field1);
panel.add(new JLabel("Field 2:"));
panel.add(field2);
int result = JOptionPane.showConfirmDialog(null, panel, "Test",
JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
System.out.println(combo.getSelectedItem()
+ " " + field1.getText()
+ " " + field2.getText());
} else {
System.out.println("Cancelled");
}
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
display();
}
});
}
}
Questions connexes
- 1. Champs de formulaire et Popup
- 2. printf, sprintf imprime au moins deux décimales
- 3. Combiner deux champs nommés avec OU (au lieu de AND)
- 4. Formulaire d'administration avec champs "supplémentaires"
- 5. Une table mysql avec de nombreux champs ou plusieurs (centaines de) tables avec moins de champs?
- 6. Rails attributs imbriqués: nécessitent au moins deux enregistrements
- 7. Sélection d'une plage avec deux champs
- 8. alphanumérique avec au moins 1 caractère
- 9. Javascript - Simple script de formulaire pour cacher/montrer des champs
- 10. meilleur (ou au moins bon) guide des annotations Java
- 11. Exemple simple d'authentification par popup avec Facebook Graph API
- 12. MySQL, sélectionnez les enregistrements avec au moins X caractères correspondants
- 13. Expression régulière avec au moins 1 lettre et 1 chiffre
- 14. Page à deux colonnes avec jeux de champs
- 15. Deux champs avec le même nom
- 16. comparaison des champs de formulaire avec des champs de base de données et mettre en évidence les champs de formulaire
- 17. sql - ayant au moins 10
- 18. C#: Blocage de formulaire popup malgré BackgroundWorker
- 19. Aide avec méthode simple, Java
- 20. PHP 200+ Formulaire Champs
- 21. Commande par deux champs
- 22. Comment créer un formulaire Ajax Popup et soumettre le formulaire
- 23. Comment lire les champs de formulaire pdf en utilisant Java?
- 24. Multiplier deux champs
- 25. Soumettre des champs de saisie de formulaire ajoutés avec javascript
- 26. soumettre un formulaire avec deux boutons
- 27. Ajouter tous les champs avec Javascript de manière simple
- 28. Une application de formulaire simple
- 29. Comment combiner deux champs de formulaire en une seule variable avec jQuery?
- 30. formulaire HTML plusieurs champs
Désolé de la confusion initiale entre réponse et exemple. – trashgod
Comment puis-je récupérer l'entrée? – nunos
J'ai élaboré ci-dessus et ajouté un lien vers le tutoriel. – trashgod