Jdialog modal exemple

InputDialog, est conçu pour afficher une boîte de dialogue modale qui obtient une chaîne de l`utilisateur, à l`aide soit d`un champ de texte, d`une zone de liste modifiable non modifiable ou d`un List. L`autre boîte de dialogue, dont le code est ci-dessous, utilise un JOptionPane standard oui/non. Exemples qui utilisent des dialogues. Les deux autres méthodes showXxxDialog sont utilisées moins souvent. Cela peut être utilisé lorsque nous voulons obtenir des informations à partir de la boîte de dialogue avant de pouvoir continuer nos opérations sur le MainFrame. Mais que faire si vous voulez vérifier la réponse de l`utilisateur avant de fermer la boîte de dialogue? Pour afficher la liste exacte des arguments d`une méthode particulière, consultez l`API Dialog. Les deux méthodes showXxxDialog les plus utiles sont showMessageDialog et showOptionDialog. Il suit l`architecture MVC. À partir de JDK 7, vous pouvez modifier le comportement de la modalité de la fenêtre de dialogue à l`aide de la nouvelle modalité API. Par exemple, les boîtes de dialogue YES_NO_OPTION ont deux boutons et les boîtes de dialogue YES_NO_CANCEL_OPTION ont trois boutons. Boîtes de dialogue oui/non. Pour plus d`informations, consultez l`API nouvelle modalité.

La figure suivante montre les icônes utilisées dans le regard et la sensation de Java (et de Windows). Même lorsque vous utilisez JOptionPane pour implémenter une boîte de dialogue, vous utilisez toujours un JDialog dans les coulisses. Chaque regard et sensation a ses propres versions des quatre icônes standard. Le code suivant, extrait de DialogDemo. La méthode showOptionDialog affiche une boîte de dialogue personnalisée, elle peut afficher une variété de boutons avec un texte de bouton personnalisé, et peut contenir un message texte standard ou une collection de composants. Lorsqu`une boîte de dialogue modale est visible, elle bloque l`entrée de l`utilisateur sur toutes les autres fenêtres du programme. Cet objet est généralement une chaîne reflétant le choix de l`utilisateur. Les arguments de toutes les méthodes showXxxDialog et des constructeurs JOptionPane sont normalisés, bien que le nombre d`arguments pour chaque méthode et constructeur varie.

Outre la définition de l`écouteur de modification de propriété, le code suivant appelle également la méthode setDefaultCloseOperation de JDialog et implémente un écouteur de fenêtre qui gère correctement la tentative de fermeture de fenêtre. Classe dialog. Cette classe peut être utilisée pour créer une boîte de dialogue modale. Contrairement à JFrame, il n`a pas maximiser et minimiser les boutons. DialogDemo contient deux boîtes de dialogue qui implémentent un écouteur de modification de propriété. Dans ce cas, vous devez implémenter votre propre écouteur de modification de propriété afin que lorsque l`utilisateur clique sur un bouton, la boîte de dialogue ne se ferme pas automatiquement. Dans le code ci-dessus, nous définissons une classe Dialog qui étend la classe JDialog en Java. Dans Java SE 6, le comportement des boîtes de dialogue modal et non modale a été modifié afin qu`ils apparaissent toujours au-dessus des deux non seulement de leurs fenêtres parents et de toutes les fenêtres bloquées ainsi. Frame: Frame parent, String-title sur la boîte de dialogue, booléen-si la boîte de dialogue est modale ou non modale. La seule forme de showXxxDialog qui ne retourne pas un entier est showInputDialog, qui retourne un Object à la place.

Lorsque le cadre est déiconifié, ses dialogues dépendants retournent à l`écran. Afin d`exécuter notre exemple, nous avons créé une méthode main (), où nous créons une nouvelle instance de JDialog, avec un message spécifique et un titre spécifique. Pour y parvenir, nous devons utiliser une classe dans Java–JDialog. Étant donné que l`utilisateur peut taper n`importe quoi dans le champ de texte, vous souhaiterez peut-être vérifier la valeur retournée et demander à l`utilisateur d`essayer à nouveau si elle n`est pas valide. Lorsque vous cliquez sur le bouton sur MainFrame, la boîte de dialogue s`affichera et le MainFrame deviendra inutilisable. Si vous concevez une boîte de dialogue personnalisée, vous devez concevoir l`API de votre boîte de dialogue afin que vous puissiez interroger la boîte de dialogue sur ce que l`utilisateur a choisi.