Funcția principală a unei casete de dialog este ca o aplicație sau un site web să preia o anumită intrare de la utilizator. Această intrare poate fi o confirmare a faptului că au citit un mesaj sau ceva ce au introdus într-o zonă de text.

O casetă de dialog atrage imediat atenția utilizatorului. Este un instrument perfect pentru colectarea sau afișarea informațiilor importante.

Java este un limbaj divers care oferă mai multe clase pentru a crea casete de dialog. Aceste clase includ JOptionPane, JDialog și JFrame.

Clasa JOptionPane

Puteți crea o casetă de dialog standard folosind una dintre mai multe metode statice aparținând clasei JOptionPane. Acestea includ:

  • showMessageDialog(), care transmite un mesaj utilizatorului.
  • showConfirmDialog(), care pune o întrebare care necesită confirmare.
  • showInputDialog(), care solicită utilizatorului introducerea.
  • showOptionDialog(), care este o combinație a celorlalte trei metode.

Crearea unei casete de dialog JOptionPane

import javax.swing. JFrame;
import javax.swing. JOptionPane;
instagram viewer

publicclasăJOptionPaneApp{
JOptionPaneApp() {
JFrame frame = nou JFrame();
JOptionPane.showMessageDialog (cadru, „Aceasta este o fereastră de mesaj JOptionPane.”);
}

publicstaticvidprincipal(Șir[] argumente){
nou JOptionPaneApp();
}
}

Codul de mai sus creează următoarea casetă de dialog:

Deși JOptionPane oferă casete de dialog standard, are multe opțiuni care vă permit să-și modificați comportamentul. De exemplu, dialogul de mesaj poate avea unul din mai multe tipuri. Cel de mai sus este un exemplu de an INFORMATION_MESSAGE, care este implicit. Celelalte tipuri de mesaje sunt:

  • ERROR_MESSAGE
  • MESAJ DE AVERTIZARE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Crearea unui mesaj de eroare

Iată un exemplu despre cum să utilizați un tip de mesaj diferit pentru dialogul dvs. JOptionPane:

JOptionPane.showMessageDialog (cadru, „Aceasta este o fereastră de mesaj de eroare JOptionPane.”,
„Eroare”, JOptionPane. ERROR_MESSAGE);

Inlocuieste showMessageDialog() linia din programul original cu linia de cod de mai sus și veți vedea următorul dialog de eroare:

Clasa JDialog

Clasa JDialog vă permite să creați casete de dialog personalizate. Acest Clasa Java aparține celui javax.swing pachet și extinde clasa Dialog. Are acces la o mare varietate de metode directe și indirecte. Această clasă Java are un total de 16 constructori Java.

În afară de constructorul implicit, fiecare dintre celelalte 15 preia un cadru, o fereastră sau un dialog cu o combinație de alte câteva argumente.

Constructorii JDialog primari includ:

  • JDialog() creează o casetă de dialog fără cadru, titlu sau mod.
  • JDialog (proprietar dialog, titlu șir, mod boolean) creează o casetă de dialog cu un proprietar de dialog, un titlu de șir și un mod.
  • JDialog (proprietar cadru, titlu șir, mod boolean) creează o casetă de dialog cu un proprietar de cadru, un titlu de șir și un mod.
  • JDialog (proprietarul ferestrei, titlul șirului de caractere, modal boolean) creează o casetă de dialog cu un proprietar de fereastră, un titlu de șir și un mod.

Crearea unei casete de dialog JDialog

import java.awt. FlowLayout;
import java.awt.event. ActionEvent;
import java.awt.event. ActionListener;
import javax.swing. JButton;
import javax.swing. JDialog;
import javax.swing. JFrame;
import javax.swing. JLabel;
import javax.swing. WindowConstants;

publicclasăJDialogApp{
JDialogApp() {
JFrame frame = nou JFrame();
Dialog JDialog = nou JDialog (cadru, Adevărat);
dialog.setLayout(nou FlowLayout());

JLabel displayText = nou JLabel(„Aceasta este o fereastră JDialog.”);
JButton btn = nou JButton ("OK");

btn.addActionListener(nou ActionListener() {
publicvidactiune realizata(ActionEvent e){
dialog.setVisible(fals);
}
});

dialog.add (displayText);
dialog.add (btn);

dialog.setSize(200,150);
dialog.setTitle(„Fereastra de dialog”);
dialog.setVisible(Adevărat);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}

publicstaticvidprincipal(Argumente șir[]){
nou JDialogApp();
}
}

Codul de mai sus creează următoarea casetă de dialog:

Există câteva aspecte importante ale codului pe care ar trebui să le rețineți. Programul folosește JDialog (proprietar de cadru, mod boolean) constructor, la care trece a JFrame iar valoarea „adevărată” ca argumente. JFrame este proprietarul JDialog, ceea ce înseamnă că este responsabil pentru afișarea casetei de dialog. Valoarea „adevărată” înseamnă că dialogul blochează intrarea în alte ferestre asociate atunci când este afișat.

Constructorul din codul de mai sus nu ia un titlu ca argument. Cu toate acestea, proprietarul cadrului are nevoie de un titlu. Deci, pentru această sarcină, puteți utiliza setTitle() metoda, care este disponibilă prin clasa Dialog pe care o extinde JDialog. Celelalte metode importante din cod sunt setVisible(), setSize(), și setDefaultCloseOperation().

setVisible ia o valoare booleană și este responsabil pentru afișarea cadrului. setSize ia înălțimea și lățimea ferestrei de dialog. setDefaultCloseOperation ia una dintre cele trei valori pentru a decide ce se întâmplă atunci când un utilizator închide dialogul.

Clasa JFrame

JDialog și JOptionPane folosesc ambele clasa JFrame pentru a crea casete de dialog. Cu toate acestea, clasa JFrame poate crea casete de dialog pe cont propriu. Clasa JFrame extinde clasa Frame și, la fel ca clasa JDialog, vă permite să creați casete de dialog personalizate.

JFrame are patru constructori și câteva metode directe și indirecte pe care va trebui să le utilizați pentru a crea o casetă de dialog.

Crearea unei casete de dialog JFrame

import java.awt.event. ActionEvent;
import java.awt.event. ActionListener;

import javax.swing. JButton;
import javax.swing. JFrame;
import javax.swing. JLabel;
import javax.swing. JPanel;
import javax.swing. WindowConstants;

publicclasăJFrameApp{
JFrameApp() {
JFrame frame = nou JFrame();
frame.setTitle(„Fereastra de dialog”);
Panoul JPanel = nou JPanel();

JLabel displayText = nou JLabel(„Aceasta este o fereastră JFrame.”);
panel.add (displayText);
JButton btn = nou JButton ("Butonul OK");

btn.addActionListener(nou ActionListener() {
publicvidactiune realizata(ActionEvent e){
frame.setVisible(fals);
}
});

panel.add (btn);

cadru.adăugați (panou);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(Adevărat);
}

publicstaticvidprincipal(Șir[] argumente){
nou JFrameApp();
}
}

Codul de mai sus creează următoarea casetă de dialog:

Codul folosește constructorul JFrame implicit și câteva metode familiare, cum ar fi setTitle() metoda (utilizată în aplicația JDialog de mai sus). Un obiect necunoscut din programul de mai sus este JPanel, care este un container generic. Acest lucru oferă JFrame flexibilitatea de a adăuga mai multe aspecte și componente la un cadru.

The ActionListener() și actiune realizata() metodele gestionează evenimentul unui utilizator care face clic pe Bine buton.

Ce clasă Java este cea mai bună pentru a crea casete de dialog?

Singurul scop al clasei JOptionPane este de a face procesul de creare a casetei de dialog mai convenabil pentru dezvoltatorii Java. Cu toate acestea, dacă aveți nevoie de o casetă de dialog mai personalizată, clasa JDialog este următoarea cea mai bună opțiune.

Clasa JFrame creează interfețe de utilizare, dar o puteți folosi pentru a crea multe elemente diferite ale unei GUI, inclusiv casete de dialog.

Caseta de dialog creată cu clasa JFrame are o pictogramă minimizată, în timp ce celelalte nu. Dacă doriți o casetă de dialog modală, pe care utilizatorul trebuie să acționeze înainte de a finaliza o sarcină, atunci JFrame nu este cea mai bună abordare.

Cum să scrieți prima dvs. aplicație Java GUI 

Citiți în continuare

AcțiuneTweetAcțiuneE-mail

Subiecte asemănătoare

  • Programare
  • Programare
  • Java
  • Tutoriale de codare

Despre autor

Kadeisha Kean (56 articole publicate)

Kadeisha Kean este un dezvoltator de software Full-Stack și un scriitor tehnic/tehnologic. Are capacitatea distinctă de a simplifica unele dintre cele mai complexe concepte tehnologice; producând material care poate fi ușor de înțeles de orice novice în tehnologie. Este pasionată de scris, de dezvoltare de software interesant și de călătorie prin lume (prin documentare).

Mai multe de la Kadeisha Kean

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona