Dialoogiboksi põhiülesanne on rakendusel või veebisaidil kasutajalt teatud sisendi hankimine. See sisend võib olla kinnitus, et nad on sõnumit lugenud või midagi, mille nad tekstialale sisestavad.
Dialoogiboks tõmbab kohe kasutaja tähelepanu. See on suurepärane tööriist olulise teabe kogumiseks või kuvamiseks.
Java on mitmekesine keel, mis pakub dialoogibokside loomiseks mitut klassi. Nende klasside hulka kuuluvad JOptionPane, JDialog ja JFrame.
JOptionPane'i klass
Standardse dialoogiboksi saate luua, kasutades ühte mitmest JOptionPane klassi kuuluvast staatilisest meetodist. Need sisaldavad:
- showMessageDialog(), mis edastab kasutajale sõnumi.
- showConfirmDialog(), mis esitab küsimuse, mis vajab kinnitust.
- showInputDialog(), mis palub kasutajal sisestada.
- showOptionDialog(), mis on kolme muu meetodi kombinatsioon.
JOptionPane'i dialoogiboksi loomine
importida javax.swing. JFrame;
importida javax.swing. JOptionPane;avalikklassJOptionPaneApp{
JOptionPaneApp() {
JFrame raam = uus JFrame();
JOptionPane.showMessageDialog (raam, "See on JOptionPane'i sõnumiaken.");
}
avalikstaatilinetühinepeamine(String[] args){
uus JOptionPaneApp();
}
}
Ülaltoodud kood loob järgmise dialoogiboksi:
Kuigi JOptionPane pakub standardseid dialoogibokse, on sellel palju valikuid, mis võimaldavad teil selle käitumist muuta. Näiteks võib sõnumidialoogi tüüp olla mitut tüüpi. Ülaltoodud on näide an INFORMATION_MESSAGE, mis on vaikeseade. Teised sõnumitüübid on järgmised:
- ERROR_MESSAGE
- WARNING_MESSAGE
- QUESTION_MESSAGE
- PLAIN_MESSAGE
Veateate loomine
Siin on näide selle kohta, kuidas kasutada JOptionPane'i dialoogis teist tüüpi sõnumit:
JOptionPane.showMessageDialog (raam, "See on JOptionPane'i veateate aken."
"Viga", JOptionPane. ERROR_MESSAGE);
Asendage showMessageDialog() rida algses programmis ülaloleva koodireaga ja näete järgmist veadialoogi:
JDialogi klass
JDialog klass võimaldab teil luua kohandatud dialoogibokse. See Java klass kuulub javax.swing paketti ja laiendab Dialoogi klassi. Sellel on juurdepääs paljudele otsestele ja kaudsetele meetoditele. Selles Java klassis on kokku 16 Java konstruktorid.
Peale vaikekonstruktori võtab kõik 15 ülejäänud raami, akna või dialoogi mitme muu argumendi kombinatsiooniga.
Peamised JDialogi konstruktorid hõlmavad järgmist:
- JDialog() loob dialoogiboksi ilma raami, pealkirja või režiimita.
- JDialog (dialoogi omanik, stringi pealkiri, boolean modaal) loob dialoogiboksi dialoogi omaniku, stringi pealkirja ja režiimiga.
- JDialog (raami omanik, stringi pealkiri, boolean modaal) loob dialoogiboksi raami omaniku, stringi pealkirja ja režiimiga.
- JDialog (akna omanik, stringi pealkiri, tõeväärtuslik modaal) loob dialoogiboksi akna omaniku, stringi pealkirja ja režiimiga.
JDialogi dialoogiboksi loomine
importida java.awt. FlowLayout;
importida java.awt.event. ActionEvent;
importida java.awt.event. ActionListener;
importida javax.swing. JButton;
importida javax.swing. JDialog;
importida javax.swing. JFrame;
importida javax.swing. JLabel;
importida javax.swing. WindowConstants;avalikklassJDialogApp{
JDialogApp() {
JFrame raam = uus JFrame();
JDialog dialoog = uus JDialog (raam, tõsi);
dialog.setLayout(uus FlowLayout());JLabel displayText = uus JLabel("See on JDialogi aken.");
JButton btn = uus JButton("OK");btn.addActionListener(uus ActionListener() {
avaliktühinetoiming sooritatud(ActionEvent e){
dialog.setVisible(vale);
}
});dialoog.add (displayText);
dialoog.add (btn);dialog.setSize(200,150);
dialog.setTitle("Dialoogiaken");
dialog.setVisible(tõsi);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}
avalikstaatilinetühinepeamine(String args[]){
uus JDialogApp();
}
}
Ülaltoodud kood loob järgmise dialoogiboksi:
Koodil on mitu olulist aspekti, mida peaksite tähele panema. Programm kasutab JDialog (raami omanik, Boolean modaal) konstruktor, millele see läheb a JFrame ja "tõeline" väärtus argumentidena. JFrame on JDialogi omanik, mis tähendab, et ta vastutab dialoogiboksi kuvamise eest. Väärtus "tõene" tähendab, et dialoog blokeerib kuvamisel sisendi teistele seotud akendele.
Ülaltoodud koodi konstruktor ei võta oma argumendiks pealkirja. Raami omanik vajab aga tiitlit. Seega saate selle ülesande jaoks kasutada setTitle() meetod, mis on saadaval dialoogiklassi kaudu, mida JDialog laiendab. Teised koodis olulised meetodid on setVisible(), setSize(), ja setDefaultCloseOperation().
setVisible võtab Boole'i väärtuse ja vastutab kaadri kuvamise eest. setSize võtab dialoogiakna kõrguse ja laiuse. setDefaultCloseOperation võtab ühe kolmest väärtusest otsustamaks, mis juhtub, kui kasutaja dialoogi sulgeb.
JFrame'i klass
JDialog ja JOptionPane kasutavad dialoogibokside loomiseks klassi JFrame. Kuid klass JFrame saab luua dialoogibokse iseseisvalt. JFrame klass laiendab Frame klassi ja sarnaselt klassi JDialog võimaldab teil luua kohandatud dialoogibokse.
JFrame'il on neli konstruktorit ja mitu otsest ja kaudset meetodit, mida peate dialoogiboksi loomiseks kasutama.
JFrame'i dialoogiboksi loomine
importida java.awt.event. ActionEvent;
importida java.awt.event. ActionListener;importida javax.swing. JButton;
importida javax.swing. JFrame;
importida javax.swing. JLabel;
importida javax.swing. JPanel;
importida javax.swing. WindowConstants;avalikklassJFrameApp{
JFrameApp() {
JFrame raam = uus JFrame();
frame.setTitle("Dialoogiaken");
JPaneli paneel = uus JPanel();JLabel displayText = uus JLabel("See on JFrame'i aken.");
paneel.add (displayText);
JButton btn = uus JButton ("OK nupp");btn.addActionListener(uus ActionListener() {
avaliktühinetoiming sooritatud(ActionEvent e){
frame.setVisible(vale);
}
});paneel.add (btn);
frame.add (paneel);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(tõsi);
}
avalikstaatilinetühinepeamine(String[] args){
uus JFrameApp();
}
}
Ülaltoodud kood loob järgmise dialoogiboksi:
Kood kasutab JFrame'i vaikekonstruktorit ja mitmeid tuttavaid meetodeid, näiteks setTitle() meetod (kasutatud ülaltoodud rakenduses JDialog). Ülaltoodud programmis on tundmatu objekt JPanel, mis on üldine konteiner. See annab JFrame'ile paindlikkuse raamile mitme paigutuse ja komponendi lisamiseks.
The ActionListener() ja action Performed() meetodid käsitlevad sündmust, kui kasutaja klõpsab nupul Okei nuppu.
Milline Java klass on dialoogibokside loomiseks parim?
JOptionPane klassi ainus eesmärk on muuta dialoogiboksi loomise protsess Java arendajatele mugavamaks. Kui aga vajate rohkem kohandatud dialoogiboksi, on JDialog klass järgmine parim valik.
Klass JFrame loob kasutajaliideseid, kuid saate selle abil luua palju erinevaid GUI elemente, sealhulgas dialoogibokse.
JFrame klassiga loodud dialoogiboksil on minimeeritud ikoon, teistel aga mitte. Kui soovite modaalset dialoogiboksi, kus kasutaja peab enne ülesande täitmist midagi ette võtma, pole JFrame parim lahendus.
Kuidas kirjutada oma esimene Java GUI rakendus
Loe edasi
Seotud teemad
- Programmeerimine
- Programmeerimine
- Java
- Kodeerimise õpetused
Autori kohta
![](/f/27e6855c850c0855c0c24be1b1308560.jpg)
Kadeisha Kean on täisstacki tarkvaraarendaja ja tehniline/tehnoloogiakirjutaja. Tal on selge võime lihtsustada mõningaid kõige keerukamaid tehnoloogilisi kontseptsioone; Tootma materjali, mis on kergesti mõistetav igale tehnoloogiaalgajale. Ta on kirglik kirjutamise, huvitava tarkvara arendamise ja maailmas reisimise vastu (dokumentaalfilmide kaudu).
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin