showConfirmDialog()
showInputDialog()
showMessageDialog()
możemy tworzyć okienka dialogowe określonego typu. Pierwsza generuje okienko z pytaniem, na które oczekujemy odpowiedzi od użytkownika poprzez wciśnięcie przycisków Yes ,
No
lub Cancel. Mamy do wyboru kilka metod showConfirmDialog(), które różnią się między sobą pobieranymi parametrami:
JOptionPane.showConfirmDialog(null, “Czy chcesz zapisać podany plik?”);
Do tego typu metody przekazujemy tylko dwa argumenty: komponent okna rodzica (jeśli takiego nie ma, wpisujemy po prostu null) oraz obiekt wiadomości (może nim być łańcuch znakowy). Istnieje także inny typ takiej metody:
JOptionPane.showConfirmDialog(null, “Czy chcesz zapisać podany plik?”,”Tytuł okienka.”, JOptionPane.YES_NO_OPTION);
W tym wypadku podajemy dodatkowo w postaci łańcucha znakowego nazwę okienka widoczną na pasku tytułowym oraz zmienną statyczną klasy JOptionPane, wskazującą przyciski, które powinny być dostępne dla użytkownika. Możemy także skorzystać z jeszcze innego typu tej metody i podać także rodzaj wiadomości, którą przekazujemy, dzięki czemu wygląd ikonki w okienku będzie uzależniony od typu wiadomości, np. dla ostrzeżenia będzie to wykrzyknik, a dla pytania znak zapytania. Możemy również załadować własną ikonkę.
Druga metoda, czyli showInputDialog(), pobiera od użytkownika informację w postaci łańcucha znakowego wpisywanego do pola tekstowego umieszczonego w okienku. Najprostszy typ tej metody pobiera tylko obiekt wiadomości:
JOptionPane.showInputDialog(“Wpisz nazwę pliku:”);
Trzecia metoda klasy JOptionPane – showMessageDialog() podaje do użytkownika wiadomość w formie ostrzeżenia.
JOptionPane.showMessageDialog(null, “Wpisz poprawną nazwę pliku!”);
Tak jak w wypadku poprzednich metod, także i tu istnieją różne typy. Każda metoda służąca do tworzenia okienka określonego typu zwraca inną wartość.
showConfirmDialog()
zwraca liczbę całkowitą (0 –
JOptionPane.YES_OPTION
, 1 –
JOptionPane.NO_OPTION
lub 2 –
JOptionPane.CANCEL_OPTION
), w zależności od wciśniętego przez użytkownika przycisku. Metoda showInputDialog() zwraca zwykle obiekt typu String, a metoda showMessageDialog nie zwraca żadnej wartości. Działanie programu Test rozpoczyna się właśnie od pojawienia się okienka dialogowego, pobierającego od użytkownika jego imię i nazwisko:
…….
public class Test {
public static void main(String[ ] args) {
String nazwisko=JOptionPane. showInputDialog(“Wpisz imię i nazwisko:”);
if(nazwisko.equals(“”) || nazwisko. equals(” “))
{ System.exit(0); }
else {Okno okno=new Okno(nazwisko);
Toolkit narz=Toolkit.
getDefaultToolkit();
Dimension ekran=narz.
getScreenSize();
int sz=ekran.width;
int w=ekran.height-27;
okno.setSize(sz,w);
okno.setVisible(true);
okno.setDefaultClose-Operation(3);
}
} }
W metodzie main() naszej głównej klasy zaimplementowaliśmy zmienną nazwisko, która będzie przechowywała dane pobrane od użytkownika. Za pomocą instrukcji if-else sprawdzamy, czy użytkownik wpisał jakieś dane lub nie wpisał spacji. W tym wypadku nakazujemy zamknięcie programu:
System.exit(0);
. Jeśli proces wpisania danych przebiegł poprawnie, tworzymy okno programu za pomocą klasy Okno i definiujemy jego wielkość na cały ekran.