Dies ist eine Überprüfung der
showConfirmDialog ()
- Methode der
JOptionPane
-Klasse. Diese Methode ist eine schnelle und einfache Methode, um Benutzereingaben zu erhalten, indem Sie eine Bestätigungsfrage stellen, z. B. Ja/Nein/Abbruch. Das
showConfirmDialog ()
kann mit folgenden Parameterkombinationen aufgerufen werden:
Component, Object Component, Object, String, int Component, Object, String, int, int Component, Object, String, int, int, Icon
-
Komponente - Der erste Parameter ist eine Komponente, die den Wert bestimmt
Rahmen, in dem der Dialog angezeigt wird; Wenn der Wert null ist oder wenn
parentComponent
keinen Frame hat, wird ein Standardframe verwendet.
-
Objekt - Der zweite Parameter kann ein beliebiges Objekt sein. __ (In einigen älteren
Bei Java-Versionen erhalten Sie möglicherweise einen Compiler-Fehler, wenn Sie primitiv verwenden Typen direkt) __ . String - Der dritte Parameter ist ein String, der als Titel der Zeichenfolge platziert wird
Bestätigungsdialogfenster.
-
int - Das int, das dem String folgt, ist der OptionType Das
Verschiedene
OptionTypes
für` JOptionPane` sind:
für "JOptionPane" sind
-
FEHLERMELDUNG
-
INFORMATION__MESSAGE
-
WARNMELDUNG
-
QUESTION__MESSAGE
-
PLAIN__MESSAGE
-
Symbol - Der letzte Parameter ist ein "Symbol", das im angezeigt wird
-
Dialog und überschreibt das Standardsymbol 'MessageType`.
1. Komponente
Einfachste Möglichkeit, Benutzereingaben zu erhalten. Das
showConfirmDialog ()
öffnet einen Dialog mit den Optionen Ja, Nein und Abbrechen und dem Titel "Eine Option auswählen"
ConfirmDialog1.java
package com.techfou.confirmDialog;
import javax.swing.JOptionPane;
public class ConfirmDialog1 {
public static void main(String[]args) {
int input = JOptionPane.showConfirmDialog(null, "Do you like bacon?");
//0=yes, 1=no, 2=cancel
System.out.println(input);
}
}
Ausgabe:
2. Komponente, Objekt, Zeichenfolge
Weitere Informationen zum Bestätigungsdialog hinzufügen. In diesem Beispiel wählen wir den Titel des Dialogs sowie den "OptionType".
Die "DEFAULT__OPTION" hat nur eine Schaltfläche "OK". Diese Form des Bestätigungsdialogs entspricht einem einfachen "showMessageDialog ()" und gibt uns die Möglichkeit, Benutzereingaben zu erhalten.
ConfirmDialog2a.java
package com.techfou.confirmDialog;
import javax.swing.JOptionPane;
public class ConfirmDialog2a {
public static void main(String[]args) {
int input = JOptionPane.showConfirmDialog(null,
"Click ok if you are ok", "Be ok!", JOptionPane.DEFAULT__OPTION);
//0=ok
System.out.println(input);
}
}
Ausgabe:
Ein weiteres einfaches Beispiel mit YES NO CANCEL__OPTION
ConfirmDialog2b.java
package com.mkyong.confirmDialog;
import javax.swing.JOptionPane;
public class ConfirmDialog2b {
public static void main(String[]args) {
int input = JOptionPane.showConfirmDialog(null,
"Do you want to proceed?", "Select an Option...",JOptionPane.YES__NO__CANCEL__OPTION);
//0=yes, 1=no, 2=cancel
System.out.println(input);
}
}
Ausgabe:
3. Komponente, Objekt, String, int
Geben Sie Ihren Bestätigungsdialog mit dem Fehlersymbol ein:
ConfirmDialog3.java
package com.mkyong.confirmDialog;
import javax.swing.JOptionPane;
public class ConfirmDialog3 {
public static void main(String[]args) {
int input = JOptionPane.showConfirmDialog(null, "Do you want to proceed?", "Select an Option...",
JOptionPane.YES__NO__CANCEL__OPTION, JOptionPane.ERROR__MESSAGE);
//0=yes, 1=no, 2=cancel
System.out.println(input);
}
}
Ausgabe:
4. Komponente, Objekt, String, int, int
Machen Sie Ihren Bestätigungsdialog "hübscher" Beispiel mit
Icon
aus einem Verzeichnis abgerufen:
ConfirmDialog4a.java
package com.mkyong.confirmDialog;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
public class ConfirmDialog4a {
public static void main(String[]args) {
ImageIcon icon = new ImageIcon("src/images/turtle64.png");
int input = JOptionPane.showConfirmDialog(null, "Do you like turtles?", "Be honest...",
JOptionPane.YES__NO__CANCEL__OPTION, JOptionPane.QUESTION__MESSAGE, icon);
//0=yes, 1=no, 2=cancel
System.out.println(input);
}
}
Ausgabe:
Beispiel mit
Component
auf einen` Frame`:
ConfirmDialogInFrame.java
package com.mkyong.confirmDialog;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.awt.Color;
public class ConfirmDialogInFrame extends JFrame{
public ConfirmDialogInFrame() {
getContentPane().setBackground(Color.DARK__GRAY);
setTitle("Confirm Dialog in Frame");
setDefaultCloseOperation(JFrame.EXIT__ON__CLOSE);
setVisible(true);
setResizable(false);
setSize(400, 300);
getContentPane().setLayout(null);
}
public static void main(String[]args){
ImageIcon icon = new ImageIcon("src/images/turtle64.png");
int input = JOptionPane.showConfirmDialog(new ConfirmDialogInFrame(),
"I appear as part of the frame!!", "Customized Dialog",
JOptionPane.OK__CANCEL__OPTION, JOptionPane.INFORMATION__MESSAGE, icon);
//0=ok, 2=cancel
System.out.println(input);
}
}
Ausgabe:
5. Ein fortgeschritteneres Beispiel
Für dieses Beispiel übergeben wir als Parameter den Wert "JPanel". Die
JPanel
ist kundenspezifisch und mit einem 'JLabel` versehen. Wir manipulieren auch die Größe des
OptionPane
mit einem Aufruf an` UIManager`.
ConfirmDialogPanel.java
package com.mkyong.messageDialog;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
public class ConfirmDialogPanel {
public static void main(String[]args) {
ImageIcon icon = new ImageIcon("src/images/lock64.png");
JPanel panel = new JPanel();
panel.setBackground(new Color(102, 205, 170));
panel.setSize(new Dimension(200, 64));
panel.setLayout(null);
JLabel label1 = new JLabel("This file requires administrator rights.");
label1.setVerticalAlignment(SwingConstants.BOTTOM);
label1.setBounds(0, 0, 200, 32);
label1.setFont(new Font("Arial", Font.BOLD, 10));
label1.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label1);
JLabel label2 = new JLabel("Are you sure you want to continue?");
label2.setVerticalAlignment(SwingConstants.TOP);
label2.setHorizontalAlignment(SwingConstants.CENTER);
label2.setFont(new Font("Arial", Font.BOLD, 10));
label2.setBounds(0, 32, 200, 32);
panel.add(label2);
UIManager.put("OptionPane.minimumSize", new Dimension(300, 120));
int input = JOptionPane.showConfirmDialog(null, panel, "Admin Rights Confirmation",
JOptionPane.YES__NO__CANCEL__OPTION, JOptionPane.PLAIN__MESSAGE, icon);
//0=yes, 1=no, 2=cancel
System.out.println(input);
}
}
Ausgabe:
Referenzen
Dialoge erstellen]. https://docs.oracle.com/javase/8/docs/api/javax/swing/JOptionPane.html [Class
JOption-Bereich - Java 8-API]. https://docs.oracle.com/javase/7/docs/api/constant-values.html#javax.security.auth.callback.ConfirmationCallback.CANCEL
Feldwerte]