Η κύρια λειτουργία ενός πλαισίου διαλόγου είναι μια εφαρμογή ή ένας ιστότοπος να ανακτά κάποια στοιχεία από τον χρήστη. Αυτή η εισαγωγή μπορεί να είναι μια επιβεβαίωση ότι έχουν διαβάσει ένα μήνυμα ή κάτι που εισάγουν σε μια περιοχή κειμένου.
Ένα πλαίσιο διαλόγου τραβά αμέσως την προσοχή ενός χρήστη. Είναι ένα τέλειο εργαλείο για τη συλλογή ή την εμφάνιση σημαντικών πληροφοριών.
Η Java είναι μια διαφορετική γλώσσα που παρέχει πολλές κλάσεις για τη δημιουργία πλαισίων διαλόγου. Αυτές οι κλάσεις περιλαμβάνουν JOptionPane, JDialog και JFrame.
Η κλάση JOptionPane
Μπορείτε να δημιουργήσετε ένα τυπικό πλαίσιο διαλόγου χρησιμοποιώντας μία από τις πολλές στατικές μεθόδους που ανήκουν στην κλάση JOptionPane. Αυτά περιλαμβάνουν:
- showMessageDialog(), το οποίο μεταδίδει ένα μήνυμα στον χρήστη.
- showConfirmDialog(), το οποίο θέτει μια ερώτηση που απαιτεί επιβεβαίωση.
- showInputDialog(), το οποίο προτρέπει έναν χρήστη για εισαγωγή.
- showOptionDialog(), που είναι ένας συνδυασμός των τριών άλλων μεθόδων.
Δημιουργία πλαισίου διαλόγου JOptionPane
εισαγωγή javax.swing. JFrame;
εισαγωγή javax.swing. JOptionPane;δημόσιοτάξηJOptionPaneApp{
JOptionPaneApp() {
JFrame πλαίσιο = νέος JFrame();
JOptionPane.showMessageDialog (πλαίσιο, "Αυτό είναι ένα παράθυρο μηνύματος JOptionPane.");
}
δημόσιοστατικόςκενόςκύριος(String[] args){
νέος JOptionPaneApp();
}
}
Ο παραπάνω κώδικας δημιουργεί το ακόλουθο παράθυρο διαλόγου:
Αν και το JOptionPane παρέχει τυπικά πλαίσια διαλόγου, έχει πολλές επιλογές που σας επιτρέπουν να τροποποιήσετε τη συμπεριφορά του. Για παράδειγμα, το παράθυρο διαλόγου μηνύματος μπορεί να έχει έναν από τους διάφορους τύπους. Το παραπάνω είναι ένα παράδειγμα ενός INFORMATION_MESSAGE, που είναι η προεπιλογή. Οι άλλοι τύποι μηνυμάτων είναι:
- ΜΗΝΥΜΑ ΛΑΘΟΥΣ
- ΠΡΟΕΙΔΟΠΟΙΗΣΗ_ΜΗΝΥΜΑ
- QUESTION_MESSAGE
- PLAIN_MESSAGE
Δημιουργία μηνύματος λάθους
Ακολουθεί ένα παράδειγμα του τρόπου χρήσης διαφορετικού τύπου μηνύματος για το διάλογο JOptionPane:
JOptionPane.showMessageDialog (πλαίσιο, "Αυτό είναι ένα παράθυρο μηνύματος σφάλματος JOptionPane.",
"Σφάλμα", JOptionPane. ΜΗΝΥΜΑ ΛΑΘΟΥΣ);
Αντικαταστήστε το showMessageDialog() γραμμή στο αρχικό πρόγραμμα με την παραπάνω γραμμή κώδικα και θα δείτε το ακόλουθο παράθυρο διαλόγου σφάλματος:
Η τάξη JDialog
Η κλάση JDialog σάς επιτρέπει να δημιουργείτε προσαρμοσμένα πλαίσια διαλόγου. Αυτό Κλάση Java ανήκει στο javax.swing πακέτο και επεκτείνει την κλάση Dialog. Έχει πρόσβαση σε μια μεγάλη ποικιλία από άμεσες και έμμεσες μεθόδους. Αυτή η κλάση Java έχει συνολικά 16 Κατασκευαστές Java.
Εκτός από τον προεπιλεγμένο κατασκευαστή, καθένα από τα άλλα 15 παίρνει ένα πλαίσιο, ένα παράθυρο ή ένα παράθυρο διαλόγου με συνδυασμό πολλών άλλων ορισμάτων.
Οι κύριοι κατασκευαστές JDialog περιλαμβάνουν:
- JDialog() δημιουργεί ένα πλαίσιο διαλόγου χωρίς πλαίσιο, τίτλο ή λειτουργία.
- JDialog (κάτοχος διαλόγου, τίτλος συμβολοσειράς, boolean modal) δημιουργεί ένα πλαίσιο διαλόγου με έναν κάτοχο διαλόγου, έναν τίτλο συμβολοσειράς και μια λειτουργία.
- JDialog (κάτοχος πλαισίου, τίτλος συμβολοσειράς, boolean modal) δημιουργεί ένα πλαίσιο διαλόγου με έναν κάτοχο πλαισίου, έναν τίτλο συμβολοσειράς και μια λειτουργία.
- JDialog (κάτοχος παραθύρου, τίτλος συμβολοσειράς, boolean modal) δημιουργεί ένα πλαίσιο διαλόγου με έναν κάτοχο παραθύρου, έναν τίτλο συμβολοσειράς και μια λειτουργία.
Δημιουργία πλαισίου διαλόγου JDialog
εισαγωγή java.awt. FlowLayout;
εισαγωγή java.awt.event. ActionEvent;
εισαγωγή java.awt.event. ActionListener;
εισαγωγή javax.swing. JButton;
εισαγωγή javax.swing. JDialog;
εισαγωγή javax.swing. JFrame;
εισαγωγή javax.swing. JLabel;
εισαγωγή javax.swing. WindowConstants;δημόσιοτάξηJDialogApp{
JDialogApp() {
JFrame πλαίσιο = νέος JFrame();
Διάλογος JDialog = νέος JDialog (πλαίσιο, αληθής);
dialog.setLayout(νέος FlowLayout());JLabel displayText = νέος JLabel("Αυτό είναι ένα παράθυρο JDialog.");
JButton btn = νέος JButton ("OK");btn.addActionListener(νέος ActionListener() {
δημόσιοκενόςδράση Εκτελέστηκε(ActionEvent e){
dialog.setVisible(ψευδής);
}
});dialog.add (displayText);
dialog.add (btn);dialog.setSize(200,150);
dialog.setTitle("Παράθυρο διαλόγου");
dialog.setVisible(αληθής);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}
δημόσιοστατικόςκενόςκύριος(Args string[]){
νέος JDialogApp();
}
}
Ο παραπάνω κώδικας δημιουργεί το ακόλουθο παράθυρο διαλόγου:
Υπάρχουν πολλές σημαντικές πτυχές του κώδικα που πρέπει να σημειώσετε. Το πρόγραμμα χρησιμοποιεί το JDialog (κάτοχος πλαισίου, Boolean modal) κατασκευαστής, στον οποίο περνά α JFrame και την «αληθινή» τιμή ως ορίσματα. Το JFrame είναι ο κάτοχος του JDialog, που σημαίνει ότι είναι υπεύθυνο για την εμφάνιση του πλαισίου διαλόγου. Η τιμή "true" σημαίνει ότι ο διάλογος αποκλείει την είσοδο σε άλλα σχετικά παράθυρα όταν εμφανίζεται.
Ο κατασκευαστής στον παραπάνω κώδικα δεν λαμβάνει έναν τίτλο ως όρισμα. Ωστόσο, ο κάτοχος πλαισίου χρειάζεται έναν τίτλο. Έτσι, για αυτήν την εργασία, μπορείτε να χρησιμοποιήσετε το setTitle() μέθοδος, η οποία είναι διαθέσιμη μέσω της κλάσης Dialog που επεκτείνει το JDialog. Οι άλλες σημαντικές μέθοδοι στον κώδικα είναι setVisible(), setSize(), και setDefaultCloseOperation().
Το setVisible παίρνει μια Boolean τιμή και είναι υπεύθυνο για την εμφάνιση του πλαισίου. Το setSize παίρνει το ύψος και το πλάτος του παραθύρου διαλόγου. Το setDefaultCloseOperation παίρνει μία από τις τρεις τιμές για να αποφασίσει τι θα συμβεί όταν ένας χρήστης κλείνει το παράθυρο διαλόγου.
Η κλάση JFrame
Το JDialog και το JOptionPane χρησιμοποιούν και τα δύο την κλάση JFrame για τη δημιουργία πλαισίων διαλόγου. Ωστόσο, η κλάση JFrame μπορεί να δημιουργήσει από μόνη της παράθυρα διαλόγου. Η κλάση JFrame επεκτείνει την κλάση Frame και, όπως και η κλάση JDialog, σας επιτρέπει να δημιουργήσετε προσαρμοσμένα πλαίσια διαλόγου.
Το JFrame έχει τέσσερις κατασκευαστές και πολλές άμεσες και έμμεσες μεθόδους που θα χρειαστεί να χρησιμοποιήσετε για να δημιουργήσετε ένα πλαίσιο διαλόγου.
Δημιουργία πλαισίου διαλόγου JFrame
εισαγωγή java.awt.event. ActionEvent;
εισαγωγή java.awt.event. ActionListener;εισαγωγή javax.swing. JButton;
εισαγωγή javax.swing. JFrame;
εισαγωγή javax.swing. JLabel;
εισαγωγή javax.swing. JPanel;
εισαγωγή javax.swing. WindowConstants;δημόσιοτάξηJFrameApp{
JFrameApp() {
JFrame πλαίσιο = νέος JFrame();
frame.setTitle("Παράθυρο διαλόγου");
Πίνακας JPanel = νέος JPanel();JLabel displayText = νέος JLabel("Αυτό είναι ένα παράθυρο JFrame.");
panel.add (displayText);
JButton btn = νέος JButton ("Κουμπί ΟΚ");btn.addActionListener(νέος ActionListener() {
δημόσιοκενόςδράση Εκτελέστηκε(ActionEvent e){
frame.setVisible(ψευδής);
}
});panel.add (btn);
frame.add (πίνακας);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(αληθής);
}
δημόσιοστατικόςκενόςκύριος(String[] args){
νέος JFrameApp();
}
}
Ο παραπάνω κώδικας δημιουργεί το ακόλουθο παράθυρο διαλόγου:
Ο κώδικας χρησιμοποιεί τον προεπιλεγμένο κατασκευαστή JFrame και πολλές γνωστές μεθόδους, όπως το setTitle() μέθοδος (χρησιμοποιείται στην παραπάνω εφαρμογή JDialog). Ένα άγνωστο αντικείμενο στο παραπάνω πρόγραμμα είναι το JPanel, το οποίο είναι ένα γενικό δοχείο. Αυτό δίνει στο JFrame την ευελιξία να προσθέτει πολλαπλές διατάξεις και στοιχεία σε ένα πλαίσιο.
ο ActionListener() και actionPerformed() οι μέθοδοι χειρίζονται το συμβάν ενός χρήστη που κάνει κλικ στο Εντάξει κουμπί.
Ποια κατηγορία Java είναι η καλύτερη για τη δημιουργία πλαισίων διαλόγου;
Ο μοναδικός σκοπός της κλάσης JOptionPane είναι να κάνει τη διαδικασία δημιουργίας πλαισίου διαλόγου πιο βολική για προγραμματιστές Java. Ωστόσο, εάν χρειάζεστε ένα πιο προσαρμοσμένο πλαίσιο διαλόγου, η κλάση JDialog είναι η επόμενη καλύτερη επιλογή.
Η κλάση JFrame δημιουργεί UI, αλλά μπορείτε να τη χρησιμοποιήσετε για να δημιουργήσετε πολλά διαφορετικά στοιχεία ενός GUI, συμπεριλαμβανομένων των πλαισίων διαλόγου.
Το πλαίσιο διαλόγου που δημιουργήθηκε με την κλάση JFrame έχει ένα ελαχιστοποιημένο εικονίδιο, ενώ τα άλλα όχι. Εάν θέλετε ένα παράθυρο διαλόγου, στο οποίο ο χρήστης πρέπει να ενεργήσει πριν ολοκληρώσει μια εργασία, τότε το JFrame δεν είναι η καλύτερη προσέγγιση.
Πώς να γράψετε την πρώτη σας εφαρμογή Java GUI
Διαβάστε Επόμενο
Σχετικά θέματα
- Προγραμματισμός
- Προγραμματισμός
- Ιάβα
- Εκμάθηση κωδικοποίησης
Σχετικά με τον Συγγραφέα

Η Kadeisha Kean είναι προγραμματιστής λογισμικού Full-Stack και συγγραφέας τεχνικής/τεχνολογίας. Έχει τη διακριτή ικανότητα να απλοποιεί μερικές από τις πιο σύνθετες τεχνολογικές έννοιες. παραγωγή υλικού που μπορεί να γίνει εύκολα κατανοητό από κάθε αρχάριο της τεχνολογίας. Είναι παθιασμένη με τη συγγραφή, την ανάπτυξη ενδιαφέροντος λογισμικού και το ταξίδι στον κόσμο (μέσω ντοκιμαντέρ).
Εγγραφείτε στο ενημερωτικό μας δελτίο
Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Κάντε κλικ εδώ για να εγγραφείτε