Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger. 
Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Imperative Sprachkonzepte
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Eigene Klassen schreiben
6 Objektorientierte Beziehungsfragen
7 Ausnahmen müssen sein
8 Äußere.innere Klassen
9 Besondere Typen der Java SE
10 Generics<T>
11 Lambda-Ausdrücke und funktionale Programmierung
12 Architektur, Design und angewandte Objektorientierung
13 Komponenten, JavaBeans und Module
14 Die Klassenbibliothek
15 Einführung in die nebenläufige Programmierung
16 Einführung in Datenstrukturen und Algorithmen
17 Einführung in grafische Oberflächen
18 Einführung in Dateien und Datenströme
19 Einführung ins Datenbankmanagement mit JDBC
20 Einführung in <XML>
21 Testen mit JUnit
22 Bits und Bytes und Mathematisches
23 Die Werkzeuge des JDK
A Java SE-Paketübersicht
Stichwortverzeichnis


Download:

- Beispielprogramme, ca. 35,4 MB


Buch bestellen
Ihre Meinung?



Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom

Einführung, Ausbildung, Praxis
Buch: Java ist auch eine Insel


Java ist auch eine Insel

Pfeil 14 Die Klassenbibliothek
Pfeil 14.1 Die Java-Klassenphilosophie
Pfeil 14.1.1 Übersicht über die Pakete der Standardbibliothek
Pfeil 14.1.2 Compact-Profile
Pfeil 14.2 Sprachen der Länder
Pfeil 14.2.1 Sprachen und Regionen über Locale-Objekte
Pfeil 14.3 Die Klasse Date
Pfeil 14.3.1 Objekte erzeugen und Methoden nutzen
Pfeil 14.3.2 Date-Objekte sind nicht immutable
Pfeil 14.4 Calendar und GregorianCalendar
Pfeil 14.4.1 Die abstrakte Klasse Calendar
Pfeil 14.4.2 Calendar nach Date und Millisekunden fragen
Pfeil 14.4.3 Abfragen und Setzen von Datumselementen über Feldbezeichner
Pfeil 14.4.4 Kalender-Exemplare bauen über den Calendar.Builder
Pfeil 14.4.5 Der gregorianische Kalender
Pfeil 14.4.6 Date-Time-API
Pfeil 14.4.7 Menschenzeit und Maschinenzeit
Pfeil 14.5 Die Utility-Klasse System und Properties
Pfeil 14.5.1 Systemeigenschaften der Java-Umgebung
Pfeil 14.5.2 Zeilenumbruchzeichen, line.separator
Pfeil 14.5.3 Eigene Properties von der Konsole aus setzen *
Pfeil 14.5.4 Umgebungsvariablen des Betriebssystems *
Pfeil 14.5.5 Einfache Zeitmessung und Profiling *
Pfeil 14.6 Einfache Benutzereingaben
Pfeil 14.6.1 Grafischer Eingabedialog über JOptionPane
Pfeil 14.6.2 Geschützte Passwort-Eingaben mit der Klasse Console *
Pfeil 14.7 Benutzereinstellungen *
Pfeil 14.7.1 Benutzereinstellungen mit der Preferences-API
Pfeil 14.7.2 Einträge einfügen, auslesen und löschen
Pfeil 14.7.3 Auslesen der Daten und Schreiben in einem anderen Format
Pfeil 14.7.4 Auf Ereignisse horchen
Pfeil 14.7.5 Zugriff auf die gesamte Windows-Registry
Pfeil 14.8 Zum Weiterlesen
 

Zum Seitenanfang

14.6Einfache Benutzereingaben Zur vorigen ÜberschriftZur nächsten Überschrift

Ein Aufruf von System.out.println() gibt Zeichenketten auf der Konsole aus. Für den umgekehrten Weg der Benutzereingabe sind folgende Wege denkbar:

  • Statt System.out für die Ausgabe lässt sich System.in als so genannter Eingabestrom nutzen. Der allerdings liest nur Bytes und muss für String-Eingaben etwas komfortabler zugänglich gemacht werden. Dazu dient etwa Scanner, den Kapitel 4, »Der Umgang mit Zeichenketten«, schon für die Eingabe vorgestellt hat.

  • Die Klasse Console erlaubt Ausgaben und Eingaben. Die Klasse ist nicht so nützlich, wie es auf den ersten Blick scheint, und eigentlich nur dann wirklich praktisch, wenn passwortgeschützte Eingaben nötig sind.

  • Statt der Konsole kann der Benutzer natürlich auch einen grafischen Dialog präsentiert bekommen. Java bietet eine einfache statische Methode für Standardeingaben über einen Dialog an.

 

Zum Seitenanfang

14.6.1Grafischer Eingabedialog über JOptionPane Zur vorigen ÜberschriftZur nächsten Überschrift

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 14.6com/tutego/insel/input/InputWithDialog.java, main()

String s = javax.swing.JOptionPane.showInputDialog( "Wo kommst du denn wech?" );

System.out.println( "Aha, du kommst aus " + s );

Soll die Zeichenkette in eine Zahl konvertiert werden, dann können wir die statische Methode Integer.parseInt(…) nutzen.

[zB]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 );

Sind Falscheingaben zu erwarten, dann sollte parseInt(…) in einen try-Block gesetzt werden. Bei einer unmöglichen Umwandlung, etwa wenn die Eingabe aus Buchstaben besteht, löst die Methode parseInt(…) eine NumberFormatException aus, die – nicht abgefangen – zum Ende des Programms (oder zumindest zum Ende des Threads) führt.

[zB]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 );

[zB]Beispiel

Ein Wahrheitswert soll eingelesen werden. Dieser Wahrheitswert soll vom Benutzer als Zeichenkette true oder false bzw. als 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;
class javax.swing.JOptionPane

extends JComponent

implements Accessible
  • static String showInputDialog(Object message)

    Zeigt einen Dialog mit Texteingabezeile. Die Rückgabe ist der eingegebene String oder null, wenn der Dialog abgebrochen wurde. Der Parameter message ist in der Regel ein String.

 

Zum Seitenanfang

14.6.2Geschützte Passwort-Eingaben mit der Klasse Console * Zur vorigen ÜberschriftZur nächsten Überschrift

Die Klasse java.io.Console erlaubt Konsolenausgaben und -eingaben. Ausgangspunkt ist die Methode System.console(), die ein aktuelles Konsolen-Exemplar liefert – oder null bei einem System ohne Konsolenmöglichkeit. Das Console-Objekt ermöglicht übliche Ausgaben und Eingaben und insbesondere mit readPassword() eine Möglichkeit zur Eingabe ohne Echo der eingegebenen Zeichen.

Ein Passwort einzulesen und es auf der Konsole auszugeben, sieht so aus:

Listing 14.7com/tutego/insel/io/PasswordFromConsole.java, main()

if ( System.console() != null ) {

// Passwort einlesen

char[] passwd = System.console().readPassword();

// Passwort verarbeiten



// Passwort im Speicher löschen

Arrays.fill( passwd, (char) 0 );

}
final class java.lang.System

implements Flushable
  • static Console console()

    Liefert das Console-Objekt oder null, wenn es keine Konsole gibt.

final class java.io.Console

implements Flushable
  • char[] readPassword()

    Liest ein Passwort ein, wobei die eingegebenen Zeichen nicht auf der Konsole wiederholt werden.

  • Console format(String fmt, Object... args)

  • Console printf(String format, Object... args)

    Ruft String.format(fmt, args) auf und gibt den formatierten String auf der Konsole aus.

  • char[] readPassword(String fmt, Object... args)

    Gibt erst eine formatierte Meldung aus und wartet dann auf die geschützte Passworteingabe.

  • String readLine()

    Liest eine Zeile von der Konsole und gibt sie zurück.

 


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück

 

 


Copyright © Rheinwerk Verlag GmbH 2017

Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 

[Rheinwerk Computing]



Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de