Dialoglodziņa galvenā funkcija ir lietojumprogrammai vai vietnei, lai iegūtu kādu ievadi no lietotāja. Šī ievade var būt apstiprinājums, ka viņi ir izlasījuši ziņojumu vai kaut ko, ko viņi ievada teksta apgabalā.
Dialoglodziņš nekavējoties piesaista lietotāja uzmanību. Tas ir ideāls rīks svarīgas informācijas apkopošanai vai parādīšanai.
Java ir daudzveidīga valoda, kas nodrošina vairākas klases, lai izveidotu dialoglodziņus. Šīs klases ietver JOptionPane, JDialog un JFrame.
JOptionPane klase
Varat izveidot standarta dialoglodziņu, izmantojot vienu no vairākām statiskām metodēm, kas pieder klasei JOptionPane. Tie ietver:
- showMessageDialog(), kas lietotājam pārraida ziņojumu.
- showConfirmDialog(), kurā tiek uzdots jautājums, kuram nepieciešams apstiprinājums.
- showInputDialog(), kas pieprasa lietotājam ievadīt informāciju.
- showOptionDialog(), kas ir trīs citu metožu kombinācija.
JOptionPane dialoglodziņa izveide
imports javax.swing. JFrame;
imports javax.swing. JOptionPane;publiskiklasēJOptionPaneApp
{
JOptionPaneApp() {
JFrame rāmis = jauns JFrame();
JOptionPane.showMessageDialog (rāmis, "Šis ir JOptionPane ziņojuma logs.");
}
publiskistatisksnederīgsgalvenais(String[] args){
jauns JOptionPaneApp();
}
}
Iepriekš minētais kods izveido šādu dialoglodziņu:
Lai gan JOptionPane nodrošina standarta dialoglodziņus, tajā ir daudz iespēju, kas ļauj pielāgot tā darbību. Piemēram, ziņojuma dialoglodziņš var būt viens no vairākiem veidiem. Iepriekš redzamais ir piemērs INFORMATION_MESSAGE, kas ir noklusējuma iestatījums. Citi ziņojumu veidi ir:
- KĻŪDAS ZIŅOJUMS
- WARNING_MESSAGE
- QUESTION_MESSAGE
- PLAIN_MESSAGE
Kļūdas ziņojuma izveide
Šeit ir piemērs, kā JOptionPane dialoglodziņā izmantot citu ziņojuma veidu:
JOptionPane.showMessageDialog (rāmis, "Šis ir JOptionPane kļūdas ziņojuma logs.",
"Kļūda", JOptionPane. KĻŪDAS ZIŅOJUMS);
Nomainiet showMessageDialog() rindiņu sākotnējā programmā ar koda rindiņu iepriekš, un jūs redzēsit šādu kļūdu dialoglodziņu:
JDialog klase
JDialog klase ļauj izveidot pielāgotus dialoglodziņus. Šis Java klase pieder pie javax.swing pakotni un paplašina Dialog klasi. Tam ir pieejams plašs tiešo un netiešo metožu klāsts. Šajā Java klasē kopā ir 16 Java konstruktori.
Izņemot noklusējuma konstruktoru, katrs no 15 pārējiem ņem rāmi, logu vai dialoglodziņu ar vairāku citu argumentu kombināciju.
Galvenie JDialog konstruktori ietver:
- JDialog() izveido dialoglodziņu bez rāmja, nosaukuma vai režīma.
- JDialog (dialoga īpašnieks, virknes nosaukums, Būla modāls) izveido dialoglodziņu ar dialoglodziņa īpašnieku, virknes nosaukumu un režīmu.
- JDialog (rāmja īpašnieks, virknes nosaukums, Būla modāls) izveido dialoglodziņu ar rāmja īpašnieku, virknes nosaukumu un režīmu.
- JDialog (loga īpašnieks, virknes nosaukums, Būla modāls) izveido dialoglodziņu ar loga īpašnieku, virknes nosaukumu un režīmu.
JDialog dialoglodziņa izveide
imports java.awt. FlowLayout;
imports java.awt.event. ActionEvent;
imports java.awt.event. ActionListener;
imports javax.swing. JButton;
imports javax.swing. JDialog;
imports javax.swing. JFrame;
imports javax.swing. JLabel;
imports javax.swing. WindowConstants;publiskiklasēJDialogApp{
JDialogApp() {
JFrame rāmis = jauns JFrame();
JDialog dialoglodziņš = jauns JDialog (rāmis, taisnība);
dialog.setLayout(jauns FlowLayout());JLabel displayText = jauns JLabel ("Šis ir JDialog logs.");
JButton btn = jauns JButton ("Labi");btn.addActionListener(jauns ActionListener() {
publiskinederīgsdarbībaVeikta(ActionEvent e){
dialog.setVisible(viltus);
}
});dialog.add (displayText);
dialog.pievienot (btn);dialog.setSize(200,150);
dialog.setTitle("Dialoga logs");
dialog.setVisible(taisnība);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}
publiskistatisksnederīgsgalvenais(stīgu args[]){
jauns JDialogApp();
}
}
Iepriekš minētais kods izveido šādu dialoglodziņu:
Ir jāņem vērā vairāki svarīgi koda aspekti. Programma izmanto JDialog (rāmja īpašnieks, Būla modāls) konstruktors, kuram tas pāriet a JFrame un “patiesā” vērtība kā argumenti. JFrame ir JDialog īpašnieks, kas nozīmē, ka tas ir atbildīgs par dialoglodziņa parādīšanu. Vērtība “true” nozīmē, ka dialoglodziņš bloķē ievadi citos saistītos logos, kad tas tiek parādīts.
Konstruktors iepriekš minētajā kodā neizmanto nosaukumu kā argumentu. Tomēr rāmja īpašniekam ir nepieciešams nosaukums. Tātad šim uzdevumam varat izmantot setTitle() metodi, kas ir pieejama, izmantojot Dialog klasi, kuru JDialog paplašina. Citas svarīgas metodes kodā ir setVisible(), setSize(), un setDefaultCloseOperation().
setVisible izmanto Būla vērtību un ir atbildīgs par kadra parādīšanu. setSize ņem dialoga loga augstumu un platumu. setDefaultCloseOperation izmanto vienu no trim vērtībām, lai izlemtu, kas notiek, kad lietotājs aizver dialoglodziņu.
JFrame klase
Gan JDialog, gan JOptionPane izmanto JFrame klasi, lai izveidotu dialoglodziņus. Tomēr JFrame klase var izveidot dialoglodziņus atsevišķi. JFrame klase paplašina Frame klasi un, līdzīgi kā JDialog klase, ļauj izveidot pielāgotus dialoglodziņus.
JFrame ir četri konstruktori un vairākas tiešas un netiešas metodes, kas jums būs jāizmanto, lai izveidotu dialoglodziņu.
JFrame dialoglodziņa izveide
imports java.awt.event. ActionEvent;
imports java.awt.event. ActionListener;imports javax.swing. JButton;
imports javax.swing. JFrame;
imports javax.swing. JLabel;
imports javax.swing. JPanel;
imports javax.swing. WindowConstants;publiskiklasēJFrameApp{
JFrameApp() {
JFrame rāmis = jauns JFrame();
frame.setTitle("Dialoga logs");
JPaneļa panelis = jauns JPanel();JLabel displayText = jauns JLabel ("Šis ir JFrame logs.");
panel.add (displayText);
JButton btn = jauns JButton ("poga OK");btn.addActionListener(jauns ActionListener() {
publiskinederīgsdarbībaVeikta(ActionEvent e){
frame.setVisible(viltus);
}
});panelis.add (btn);
frame.add (panelis);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(taisnība);
}
publiskistatisksnederīgsgalvenais(String[] args){
jauns JFrameApp();
}
}
Iepriekš minētais kods izveido šādu dialoglodziņu:
Kods izmanto noklusējuma JFrame konstruktoru un vairākas pazīstamas metodes, piemēram, setTitle() metode (izmantota iepriekš JDialog lietotnē). Nepazīstams objekts iepriekš minētajā programmā ir JPanel, kas ir vispārīgs konteiners. Tas nodrošina JFrame elastību, lai rāmim pievienotu vairākus izkārtojumus un komponentus.
The ActionListener() un darbībaVeikta() metodes apstrādā gadījumu, kad lietotājs noklikšķina uz labi pogu.
Kura Java klase ir vislabākā dialoglodziņu izveidei?
JOptionPane klases vienīgais mērķis ir padarīt dialoglodziņa izveides procesu ērtāku Java izstrādātājiem. Tomēr, ja jums ir nepieciešams pielāgotāks dialoglodziņš, nākamā labākā iespēja ir JDialog klase.
JFrame klase veido lietotāja saskarnes, taču varat to izmantot, lai izveidotu daudz dažādu GUI elementu, tostarp dialoglodziņus.
Dialoglodziņā, kas izveidots ar klasi JFrame, ir minimizēta ikona, bet pārējiem nav. Ja vēlaties modālu dialoglodziņu, kurā lietotājam ir jārīkojas pirms uzdevuma pabeigšanas, JFrame nav labākā pieeja.
Kā uzrakstīt savu pirmo Java GUI lietojumprogrammu
Lasiet Tālāk
Saistītās tēmas
- Programmēšana
- Programmēšana
- Java
- Kodēšanas apmācības
Par autoru
Kadeiša Kīna ir pilnas komplektācijas programmatūras izstrādātāja un tehnisko/tehnoloģiju rakstniece. Viņai ir izteikta spēja vienkāršot dažus no vissarežģītākajiem tehnoloģiskajiem jēdzieniem; ražo materiālu, ko var viegli saprast ikviens tehnoloģiju iesācējs. Viņa aizraujas ar rakstīšanu, interesantas programmatūras izstrādi un ceļošanu pa pasauli (izmantojot dokumentālās filmas).
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!
Noklikšķiniet šeit, lai abonētu