Créer une fenêtre pop en Java
- 
          
            Créer une fenêtre contextuelle en Java à l’aide de JOptionPane
- 
          
            Créer une fenêtre contextuelle en Java à l’aide de JDialog
 
Java nous permet de créer plusieurs types de composants d’interface graphique à l’aide de bibliothèques telles que AWT, Swing et JavaFX. Dans ce didacticiel, nous allons examiner la boîte de dialogue et apprendre à la créer. Nous utiliserons deux classes, JOptionPane et JDialog, dans les exemples suivants.
Créer une fenêtre contextuelle en Java à l’aide de JOptionPane
    
Le moyen le plus simple de créer une fenêtre contextuelle Java ou une boîte de dialogue consiste à utiliser la classe JOptionPane dans le cadre du package javax.swing, qui contient de nombreuses méthodes utiles. Certaines des techniques courantes sont énumérées ci-dessous :
| Méthode | La description | 
|---|---|
| showMessageDialog() | Affiche un message dans un cadre spécifié | 
| showInputDialog() | Obtenez l’entrée de l’utilisateur dans la fenêtre contextuelle | 
| showConfirmDialog() | Affiche le message et demande à l’utilisateur une confirmation comme oui, non ou annuler | 
Voici des exemples de méthodes :
Exemple 1 : Affichez un message à l’intérieur d’un JFrame en créant un objet JFrame, appelez la méthode JOptionPane.showMessageDialog() et passez le premier objet JFrame comme premier argument. Le deuxième argument est le message que nous voulons afficher dans la boîte de dialogue.
import javax.swing.*;
public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    JOptionPane.showMessageDialog(jFrame, "Hello there! How are you today?");
  }
}
Production:

Exemple 2 : Cet exemple utilise la fonction JOptionPane.showInputDialog() pour afficher un message avec un champ de saisie pour obtenir l’entrée. Ici, pour stocker l’entrée, nous utilisons une variable String puis la montrons à l’utilisateur en utilisant showMessageDialog().
import javax.swing.*;
public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    String getMessage = JOptionPane.showInputDialog(jFrame, "Enter your message");
    JOptionPane.showMessageDialog(jFrame, "Your message: " + getMessage);
  }
}
Production:


Exemple 3 : Nous utilisons la fonction JOptionPane.showConfirmDialog() pour afficher une boîte de dialogue avec trois boutons : Oui, Non et Annuler. Tout comme les autres méthodes, nous passons un objet jFrame et un message à afficher. La méthode showConfirmDialog() renvoie un int qui spécifie le bouton sur lequel on a cliqué : 0 signifie Oui, 1 signifie Non, et tout autre entier spécifie que le bouton d’annulation a été cliqué.
import javax.swing.*;
public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    int result = JOptionPane.showConfirmDialog(jFrame, "Press any button to close the dialog.");
    if (result == 0)
      System.out.println("You pressed Yes");
    else if (result == 1)
      System.out.println("You pressed NO");
    else
      System.out.println("You pressed Cancel");
  }
}
Production:

Créer une fenêtre contextuelle en Java à l’aide de JDialog
Dans la seconde méthode, nous utilisons la classe Jdialog. Pour créer un cadre, nous avons besoin d’un objet jFrame qui est passé au constructeur de Jdialog comme argument lorsque nous créons un objet de Jdialog et jd. Nous devons maintenant définir la disposition de la boîte de dialogue qui spécifie comment placer les composants à l’intérieur de la boîte de dialogue. Nous définissons la fonction FlowLayout() qui organise les composants en ligne à l’aide de jd.setLayout().
Pour définir la position et la taille de la fenêtre pop, nous utilisons la fonction setBounds(), où les deux premiers arguments sont les positions x et y, et les deux derniers arguments sont la largeur et la hauteur.
Nous créons une variable jLabel avec le message texte passé à l’intérieur du constructeur pour afficher un texte. Pour permettre à l’utilisateur de fermer la boîte de dialogue, nous créons un objet JButton avec le texte Close. Maintenant, nous devons définir l’action à effectuer lorsque le bouton de fermeture est cliqué. Pour ce faire, nous appelons la fonction addActionListener() qui surcharge la méthode actionPerformed() dans laquelle nous spécifions l’action à effectuer.
Enfin, nous ajoutons tous les composants ou objets que nous avons créés en utilisant jd.add().
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class PopUpJava {
  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    JDialog jd = new JDialog(jFrame);
    jd.setLayout(new FlowLayout());
    jd.setBounds(500, 300, 400, 300);
    JLabel jLabel = new JLabel("Press close button to close the dialog.");
    JButton jButton = new JButton("Close");
    jButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        jd.setVisible(false);
      }
    });
    jd.add(jLabel);
    jd.add(jButton);
    jd.setVisible(true);
  }
}
Production:

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArticle connexe - Java GUI
- Créer une barre de progression Java à l'aide de la classe JProgressBar
- Groupe de boutons en Java
- La méthode pack() en Java
- Obtenir de la valeur à partir de JTextField
- Boîte de message en Java
- Créer un menu déroulant en Java
