2.10 Einfache Benutzereingaben
Bei den ersten eigenen Programmen möchte jeder neben der Ausgabe auch eine Eingabe in Java realisieren, damit ein Programm auch Benutzereingaben verarbeiten kann. Der Weg über die Befehlszeile ist dabei steinig, da Java eine Eingabe nicht so einfach wie eine Ausgabe vorsieht. Wer dennoch auf Benutzereingaben reagieren möchte, der kann dies über einen grafischen Eingabedialog JOptionPane realisieren.
Listing 2.23 InputWithDialog.java
class InputWithDialog
{
public static void main( String[] args )
{
String s = javax.swing.JOptionPane.showInputDialog( "Wo kommst du denn wech?" );
System.out.println( "Aha, du kommst aus " + s );
System.exit( 0 ); // Exit program
}
}
Soll die Zeichenkette in eine Zahl konvertiert werden, dann können wir die Funktion parseInt() nutzen.
Beispiel Zeige einen Eingabedialog an, der zur Zahleneingabe auffordert. Quadriere die eingelesene Zahl, und gib sie auf dem Bildschirm aus: String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zahl eingeben" ); int i = Integer.parseInt( s ); System.out.println( i * i ); |
Fehler müssten zusätzlich in einen try-catch-Block gesetzt werden, da parseInt() eine NumberFormatException auslöst, wenn Buchstaben zur Umwandlung anstehen.
Beispiel Es soll ein einzelnes Zeichen eingelesen werden. String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zeichen eingeben" ); char c = 0; if ( s != null && s.length() > 0 ) c = s.charAt( 0 ); |
Beispiel Ein Wahrheitswert soll eingelesen werden. Dieser Wahrheitswert soll vom Benutzer als Zeichenkette true oder false beziehungsweise 1 oder 0 eingegeben werden. String s = javax.swing.JOptionPane.showInputDialog( "Bitte Wahrheitswert eingeben" ); boolean buh; if ( s != null ) |
if (s.equals("0") || s.equals("false") ) buh = false; else if (s.equals("1") || s.equals("true") ) buh = true; |