Glavna funkcija dijaloškog okvira je da aplikacija ili web stranica dohvate neke unose od korisnika. Taj unos može biti potvrda da su pročitali poruku ili nešto što unose u tekstualno područje.
Dijaloški okvir odmah privlači pažnju korisnika. To je savršen alat za prikupljanje ili prikazivanje važnih informacija.
Java je raznolik jezik koji nudi nekoliko klasa za stvaranje dijaloških okvira. Ove klase uključuju JOptionPane, JDialog i JFrame.
Klasa JOptionPane
Možete stvoriti standardni dijaloški okvir koristeći jednu od nekoliko statičkih metoda koje pripadaju klasi JOptionPane. To uključuje:
- showMessageDialog(), koji prenosi poruku korisniku.
- showConfirmDialog(), koji postavlja pitanje koje zahtijeva potvrdu.
- showInputDialog(), što od korisnika traži unos.
- showOptionDialog(), što je kombinacija tri druge metode.
Stvaranje dijaloškog okvira JOptionPane
uvoz javax.ljuljačka. JFrame;
uvoz javax.ljuljačka. JOptionPane;javnostrazredaJOptionPaneApp{
JOptionPaneApp() {
JFrame okvir = novi JFrame();
JOptionPane.showMessageDialog (okvir, "Ovo je prozor poruke JOptionPane.");
}
javnoststatičkiponištitiglavni(String[] args){
novi JOptionPaneApp();
}
}
Gornji kod stvara sljedeći dijaloški okvir:
Iako JOptionPane nudi standardne dijaloške okvire, ima mnogo opcija koje vam omogućuju da prilagodite njegovo ponašanje. Na primjer, dijaloški okvir poruke može imati jednu od nekoliko vrsta. Ovo iznad je primjer jednog INFORMATION_MESSAGE, što je zadana postavka. Ostale vrste poruka su:
- ERROR_MESSAGE
- WARNING_MESSAGE
- QUESTION_MESSAGE
- PLAIN_MESSAGE
Stvaranje poruke o pogrešci
Evo primjera kako koristiti drugu vrstu poruke za vaš JOptionPane dijaloški okvir:
JOptionPane.showMessageDialog (okvir, "Ovo je prozor poruke o pogrešci JOptionPane.",
"Pogreška", JOptionPane. ERROR_MESSAGE);
Zamijenite showMessageDialog() redak u izvornom programu s gornjom linijom koda i vidjet ćete sljedeći dijaloški okvir pogreške:
Klasa JDialog
Klasa JDialog omogućuje stvaranje prilagođenih dijaloških okvira. Ovaj Java klasa pripada u javax.ljuljačka paket i proširuje klasu Dialog. Ima pristup velikom broju izravnih i neizravnih metoda. Ova Java klasa ima ukupno 16 Java konstruktori.
Osim zadanog konstruktora, svaki od ostalih 15 uzima okvir, prozor ili dijalog s kombinacijom nekoliko drugih argumenata.
Primarni JDialog konstruktori uključuju:
- JDialog() stvara dijaloški okvir bez okvira, naslova ili načina.
- JDialog (vlasnik dijaloga, naslov niza, booleov modalni) stvara dijaloški okvir s vlasnikom dijaloga, naslovom niza i načinom rada.
- JDialog (vlasnik okvira, naslov niza, logički modalni) stvara dijaloški okvir s vlasnikom okvira, naslovom niza i načinom rada.
- JDialog (vlasnik prozora, naslov niza, booleov modalni) stvara dijaloški okvir s vlasnikom prozora, naslovom niza i načinom rada.
Izrada dijaloškog okvira JDialog
uvoz java.awt. FlowLayout;
uvoz java.awt.event. ActionEvent;
uvoz java.awt.event. ActionListener;
uvoz javax.ljuljačka. JButton;
uvoz javax.ljuljačka. JDialog;
uvoz javax.ljuljačka. JFrame;
uvoz javax.ljuljačka. JLabel;
uvoz javax.ljuljačka. WindowConstants;javnostrazredaJDialogApp{
JDialogApp() {
JFrame okvir = novi JFrame();
JDialog dijalog = novi JDialog (okvir, pravi);
dialog.setLayout(novi FlowLayout());JLabel displayText = novi JLabel("Ovo je prozor JDialog.");
JButton btn = novi JButton("OK");btn.addActionListener(novi ActionListener() {
javnostponištitiradnja Izvedena(ActionEvent e){
dialog.setVisible(lažno);
}
});dijalog.dodaj (prikazni tekst);
dijalog.dodaj (btn);dialog.setSize(200,150);
dialog.setTitle("Dijaloški prozor");
dialog.setVisible(pravi);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}
javnoststatičkiponištitiglavni(String args[]){
novi JDialogApp();
}
}
Gornji kod stvara sljedeći dijaloški okvir:
Postoji nekoliko važnih aspekata koda koje biste trebali imati na umu. Program koristi JDialog (vlasnik okvira, Boolean modal) konstruktor, na koji prelazi a JFrame i "pravu" vrijednost kao argumente. JFrame je vlasnik JDialog-a, što znači da je odgovoran za prikaz dijaloškog okvira. Vrijednost "true" znači da dijaloški okvir blokira unos u druge povezane prozore kada se prikaže.
Konstruktor u kodu iznad ne uzima naslov kao svoj argument. Međutim, vlasniku okvira treba naslov. Dakle, za taj zadatak možete koristiti setTitle() metoda, koja je dostupna kroz klasu Dialog koju JDialog proširuje. Druge važne metode u kodu su setVisible(), setSize(), i setDefaultCloseOperation().
setVisible uzima Booleovu vrijednost i odgovoran je za prikaz okvira. setSize uzima visinu i širinu dijaloškog prozora. setDefaultCloseOperation uzima jednu od tri vrijednosti da odluči što će se dogoditi kada korisnik zatvori dijaloški okvir.
Klasa JFrame
JDialog i JOptionPane koriste klasu JFrame za stvaranje dijaloških okvira. Međutim, klasa JFrame može sama kreirati dijaloške okvire. Klasa JFrame proširuje klasu Frame i, slično klasi JDialog, omogućuje vam stvaranje prilagođenih dijaloških okvira.
JFrame ima četiri konstruktora i nekoliko izravnih i neizravnih metoda koje ćete morati koristiti za stvaranje dijaloškog okvira.
Stvaranje dijaloškog okvira JFrame
uvoz java.awt.event. ActionEvent;
uvoz java.awt.event. ActionListener;uvoz javax.ljuljačka. JButton;
uvoz javax.ljuljačka. JFrame;
uvoz javax.ljuljačka. JLabel;
uvoz javax.ljuljačka. JPanel;
uvoz javax.ljuljačka. WindowConstants;javnostrazredaJFrameApp{
JFrameApp() {
JFrame okvir = novi JFrame();
frame.setTitle("Dijaloški prozor");
JPanel panel = novi JPanel();JLabel displayText = novi JLabel("Ovo je prozor JFrame.");
panel.add (displayText);
JButton btn = novi JButton("Gumb OK");btn.addActionListener(novi ActionListener() {
javnostponištitiradnja Izvedena(ActionEvent e){
frame.setVisible(lažno);
}
});panel.add (btn);
okvir.dodaj (panel);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(pravi);
}
javnoststatičkiponištitiglavni(String[] args){
novi JFrameApp();
}
}
Gornji kod stvara sljedeći dijaloški okvir:
Kod koristi zadani JFrame konstruktor i nekoliko poznatih metoda, kao što je setTitle() metoda (koristi se u gornjoj aplikaciji JDialog). Nepoznati objekt u gornjem programu je JPanel, koji je generički spremnik. To daje JFrameu fleksibilnost za dodavanje više rasporeda i komponenti u okvir.
The ActionListener() i radnja izvedena() metode obrađuju događaj kada korisnik klikne na u redu dugme.
Koja je Java klasa najbolja za stvaranje dijaloških okvira?
Jedina svrha klase JOptionPane je učiniti proces kreiranja dijaloškog okvira prikladnijim za Java programere. Međutim, ako trebate prilagođeniji dijaloški okvir, klasa JDialog je sljedeća najbolja opcija.
Klasa JFrame stvara korisničko sučelje, ali je možete koristiti za stvaranje mnogo različitih elemenata GUI-ja, uključujući dijaloške okvire.
Dijaloški okvir kreiran klasom JFrame ima minimiziranu ikonu, dok ostali nemaju. Ako želite modalni dijaloški okvir, koji korisnik mora djelovati prije dovršetka zadatka, tada JFrame nije najbolji pristup.
Kako napisati svoju prvu Java GUI aplikaciju
Pročitajte dalje
Povezane teme
- Programiranje
- Programiranje
- Java
- Upute za kodiranje
O autoru
Kadeisha Kean je programerka punog softvera i tehnička/tehnološka spisateljica. Ona ima izrazitu sposobnost da pojednostavi neke od najsloženijih tehnoloških koncepata; proizvodnju materijala koji svaki početnik u tehnologiji može lako razumjeti. Ona je strastvena u pisanju, razvoju zanimljivog softvera i putovanju svijetom (kroz dokumentarne filmove).
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Kliknite ovdje za pretplatu