Maison > Java > javaDidacticiel > Comment créer un formulaire contextuel personnalisé avec plusieurs champs de texte en Java ?

Comment créer un formulaire contextuel personnalisé avec plusieurs champs de texte en Java ?

Patricia Arquette
Libérer: 2024-11-09 21:00:05
original
995 Les gens l'ont consulté

How to create a custom popup form with multiple text fields in Java?

Comment créer un formulaire contextuel simple avec plusieurs champs de texte en Java

Lors de la mise en œuvre d'une application de bureau, il est souvent nécessaire de collecter les utilisateurs saisie via un formulaire. Bien que la méthode JOptionPane.showInputDialog puisse être utilisée pour une saisie simple, elle ne convient pas aux formulaires comportant plusieurs champs. Cet article propose une solution alternative qui permet aux développeurs de créer des formulaires contextuels personnalisés avec plusieurs champs de texte.

Pour y parvenir, les développeurs doivent utiliser la méthode JOptionPane.showConfirmDialog en conjonction avec un panneau personnalisé contenant les composants de formulaire souhaités. Les étapes suivantes décrivent le processus :

  1. Créer un panneau : instanciez un JPanel et définissez sa disposition à l'aide de GridLayout. Cela organisera les composants du formulaire verticalement.
  2. Ajouter des composants de formulaire : ajoutez les composants JComboBox, JTextField et JLabel au panneau selon vos besoins.
  3. Affichez la fenêtre contextuelle  : Appelez JOptionPane.showConfirmDialog avec le panneau comme argument principal. Cela affichera le formulaire contextuel personnalisé avec les composants spécifiés.
  4. Gérer le résultat : une fois que l'utilisateur a interagi avec le formulaire, la variable de résultat indiquera si le bouton OK ou Annuler a été cliqué. Les développeurs peuvent ensuite traiter les données du formulaire en conséquence.

L'exemple de code fourni montre comment créer un formulaire contextuel personnalisé avec une JComboBox et deux composants JTextField :

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();
            }
        });
    }
}
Copier après la connexion

En tirant parti de cela technique, les développeurs peuvent facilement créer des formulaires contextuels personnalisés avec plusieurs champs, offrant ainsi un moyen plus convivial et plus efficace de collecter les entrées des utilisateurs dans leurs applications Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal