Inne działy

Java przykładowe programy

 

 

Java wyświetlanie okien dialogowych

 Inną użyteczną klasą w Javie za pomocą, której możemy przyjmować dane od użytkownika i je wyświetlać jest JOptionPane. Klasa ta znajduje się w bibliotece javax.swing. Klasa JOptionPane umożliwia wyświetlanie okien dialogowych jak na obrazkach poniżej:

i okna dialogowego z komunikatem:

 Teraz musimy zmodyfikować kod z poprzednich ćwiczeń do naszej lekcji z oknami dialogowymi.

Pierwszą rzeczą do zrobienia jest odwołanie się do biblioteki, którą chcemy użyć:

import javax.swing.JOptionPane;

Informujemy Javę, że chcemy korzystać z klasy JOptionPane znajdującą się w bibliotece javax.swing.

Możesz rozpocząć nowy projekt, jeśli chcesz dostosować swój poprzedni kod. (Powinieneś już wiedzieć, jak utworzyć nowy projekt. Wystarczy pamiętać, aby zmienić nazwę klasy z Main na coś innego. My użyliśmy nazwy dla kasy InputBoxes. Nasza nazwa pakietu to userinput).

Dodaj linię importu do nowego projektu,  a twoje okno kodowania powinno wyglądać jak poniżej:

package userinput;

import javax.swing.JOptionPane;

public class InputBoxes {

    
    public static void main(String[] args) {

    }
}

 (Powodem falistego podkreślenia jest to, że jeszcze nie używaliśmy klasy JOptionPane. Zniknie ono jeżeli klasę użyjemy jeszcze raz).

Aby uzyskać pole wprowadzania, do którego użytkownik może wpisać dane, możemy użyć metod showInputDialog z klasy JOptionPane. Dane te będziemy przechowywać w zmiennej jak w poprzednich przykładach. Tak więc musimy dodać następująca linię kodu:

String imie;

imie = JOptionPane.showInputDialog("Podaj imie:");

Należy wpisać kropkę po JOptionPane pojawi się wtedy następujące okno z listą rozwijaną:

Kliknij dwukrotnie showInputDialog. W okrągłych nawiasach po showInputDialog wpisz wiadomość, która zostanie wyświetlona jako komunikat dla użytkownika. My użyliśmy tekstu Podaj imie, który musi być ujęty w cudzysłów.

Dodaj następujący kod, który pozwoli na uzyskanie nazwiska użytkownika:

String nazwisko;

nazwisko = JOptionPane.showInputDialog("Podaj nazwisko:");

Złącz dane z dwóch zmiennych i dodaj tekst opisu:

String pelne_dane;

pelne_dane = "Twoje dane " + imie + " " + nazwisko;

Aby wyświetlić wynik w oknie komunikatu, należy dodać następujący kod:

JOptionPane.showMessageDialog(null, pelne_dane);

 Tym razem wybierzemy showMessageDialog z rozwijalnej listy. W nawiasach musimy najpierw wpisać słowo NULL. To słowo kluczowe Javy i po prostu oznacza, że okno komunikatu nie jest związane z czymkolwiek innym w progranie. Po przecinku jest tekst, który chcemy wyświetlić w oknie komunikatu. Cały kod powinien wyglądać tak:

package userinput;

import javax.swing.JOptionPane;

public class InputBoxes {

    
    public static void main(String[] args) {
        
        String imie;
        imie = JOptionPane.showInputDialog("Podaj imie:");
        
        String nazwisko;
        nazwisko = JOptionPane.showInputDialog("Podaj nazwisko:");
        
        String pelne_dane;
        pelne_dane = "Twoje dane " + imie + " " + nazwisko;
        
        JOptionPane.showMessageDialog(null, pelne_dane);
        System.exit(0);
        
    }
}

 Zwróć uwagę na linię na dole kodu:

System.exit(0);

 Jak sama nazwa wskazuje, to gwarantuje, że program zakończy pracę. Ale także wykonuje pracę za nas usuwając wszystkie utworzone obiekty z pamięci.

Teraz uruchom kod. (Inny szybki sposób aby uruchomić program w NetBeans to kliknięcie prawym przyciskiem myszy w dowolnym miejscu okna kodowania. Z wyświetlonego menu wybierz polecenie Run File).

Zobaczysz pierwsze okno dialogowe do wprowadzenia imienia. Wpisz coś do niego, a następnie kliknij przycisk OK:

Następnie pojawi się okno, w którym jesteśmy proszeni o prowadzenie nazwiska:

Po kliknięciu przycisku OK zostanie wyświetlone okno dialogowe z komunikatem:

Kliknij OK, aby zakończyć program.

 

Ćwiczenie

Okna dialogowe i okna z komunikatem mogą być formatowane także w inny sposób. Spróbuj wykonać następujące czynności dla pól tekstowych:

JOptionPane.showInputDialog("Podaj imie", "Wprowadź swoje imie);

JOptionPane.showInputDialog("Podaj nazwisko", "Wprowadź swoje nazwisko");

Ćwiczenie

Dla okna dialogowego z komunikatem  wypróbuj następujący kod (powinien być wprowadzony w jednej linii):

JOptionPane.showMessageDialog(null, pelne_dane, "Nazwisko",JOptionPane.INFORMATION_MESSAGE);

Ćwiczenie

Zamiast JOptionPane.INFORMATION_MESSAGE możesz także użyć:

ERROR_MESSAGE

PLAIN_MESSAGE

QUESTION_MESSAGE

WARNING_MESSAGE

 

Ćwiczenie

Okna dialogowe typu Input Box są nie tylko wykorzystywane do wprowadzania tekstu: mogą przyjmować także wartości liczbowe. Napisz program, który pyta użytkownika o dwie liczby, szerokość i wysokość prostokąta. Użyj pola dialogowego typu message box. (Pamiętaj: pole prostokąta to jego szerokość pomnożona przez wysokość.) Jednakże, trzeba dodatkowej pomocy dla tego ćwiczenia:

Musisz użyć zmiennej String, aby uzyskać wartości liczbowe od użytkownika:

String szerokosc;

szerokosc = JOptionPane.showInputDialog("Szerokość prostokąta");

String wysokosc;

wysokosc = jOptionPane.showInputDialog("Wysokosc prostokąta");

Jednakże nie można pomnożyć dwóch ciągów tekstowych. Potrzeba skonwertować ciągi do liczb całkowitych. Można konwertować ciąg znaków na liczbę całkowitą w następujący sposób:

Integer.parselnt(ciąg do konwersji);

Wpisujesz słowo Integer i następnie kropkę z rozwijalnej wybieramy parseInt(). Pomiędzy nawiasy wpisujesz nazwę zmiennej, którą chcemy prze konwertować.

Zadeklaruj zmienna typu int o nazwie wynik. Następnie można wykonać mnożenie wartości zmiennych wpisując cały kod w jednej linii:

int wynik = Integer.parseInt(szerokosc) * Integer.parseInt(wysokosc);

W oknie dialogowym użyj znaku konkatenacji (+):

"Odpowiedź = " + wynik;

Możesz użyć jednego z symboli wiadomości dla okna komunikatu (message box).

Ćwiczenie

Program zostanie przerwany po wpisaniu liczby zmiennoprzecinkowej dla zmiennych szerkosc lub wysokosc. Jak można rozwiązać ten problem?

Kiedy rozwiązujesz to ćwiczenie, czy naprawdę potrzebujesz Integer.parseInt? Może można użyć innego typu konwersji.

OK, w następnej lekcji poznamy instrukcję warunkową if.

 

 

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.