Galileo Computing :: Java 7 - Mehr als eine Insel - 9 Grafische Oberflächen mit Swing
Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Neues in Java 7
2 Threads und nebenläufige Programmierung
3 Datenstrukturen und Algorithmen
4 Raum und Zeit
5 Dateien, Verzeichnisse und Dateizugriffe
6 Datenströme
7 Die eXtensible Markup Language (XML)
8 Dateiformate
9 Grafische Oberflächen mit Swing
10 Grafikprogrammierung
11 Netzwerkprogrammierung
12 Verteilte Programmierung mit RMI
13 RESTful und SOAP Web-Services
14 JavaServer Pages und Servlets
15 Applets
16 Datenbankmanagement mit JDBC
17 Technologien für die Infrastruktur
18 Reflection und Annotationen
19 Dynamische Übersetzung und Skriptsprachen
20 Logging und Monitoring
21 Java Native Interface (JNI)
22 Sicherheitskonzepte
23 Dienstprogramme für die Java-Umgebung
Stichwort

Download:
- openbook, ca. 21,3 MB
Buch bestellen
Ihre Meinung?

Spacer
Java 7 - Mehr als eine Insel von Christian Ullenboom
Das Handbuch zu den Java SE-Bibliotheken
Buch: Java 7 - Mehr als eine Insel

Java 7 - Mehr als eine Insel
Galileo Computing
1433 S., 2012, geb.
49,90 Euro, ISBN 978-3-8362-1507-7
Pfeil 9 Grafische Oberflächen mit Swing
Pfeil 9.1 Fenster zur Welt
Pfeil 9.1.1 Swing-Fenster mit javax.swing.JFrame darstellen
Pfeil 9.1.2 Fenster schließbar machen – setDefaultCloseOperation()
Pfeil 9.1.3 Sichtbarkeit des Fensters
Pfeil 9.1.4 Größe und Position des Fensters verändern
Pfeil 9.1.5 Fenster- und Dialog-Dekoration, Transparenz *
Pfeil 9.1.6 Die Klasse Toolkit *
Pfeil 9.1.7 Dynamisches Layout während einer Größenänderung *
Pfeil 9.1.8 Zum Vergleich: AWT-Fenster darstellen *
Pfeil 9.2 Beschriftungen (JLabel)
Pfeil 9.2.1 Mehrzeiliger Text, HTML in der Darstellung
Pfeil 9.3 Icon und ImageIcon für Bilder auf Swing-Komponenten
Pfeil 9.3.1 Die Klasse ImageIcon
Pfeil 9.3.2 Die Schnittstelle Icon und eigene Icons zeichnen *
Pfeil 9.4 Es tut sich was – Ereignisse beim AWT
Pfeil 9.4.1 Die Ereignisquellen und Horcher (Listener) von Swing
Pfeil 9.4.2 Listener implementieren
Pfeil 9.4.3 Listener bei dem Ereignisauslöser anmelden/abmelden
Pfeil 9.4.4 Adapterklassen nutzen
Pfeil 9.4.5 Innere Mitgliedsklassen und innere anonyme Klassen
Pfeil 9.4.6 Aufrufen der Listener im AWT-Event-Thread
Pfeil 9.4.7 Ereignisse, etwas genauer betrachtet *
Pfeil 9.5 Schaltflächen
Pfeil 9.5.1 Normale Schaltflächen (JButton)
Pfeil 9.5.2 Der aufmerksame ActionListener
Pfeil 9.5.3 Schaltflächen-Ereignisse vom Typ ActionEvent
Pfeil 9.5.4 Basisklasse AbstractButton
Pfeil 9.5.5 Wechselknopf (JToggleButton)
Pfeil 9.6 Textkomponenten
Pfeil 9.6.1 Text in einer Eingabezeile
Pfeil 9.6.2 Die Oberklasse der Text-Komponenten (JTextComponent)
Pfeil 9.6.3 Geschützte Eingaben (JPasswordField)
Pfeil 9.6.4 Validierende Eingabefelder (JFormattedTextField)
Pfeil 9.6.5 Einfache mehrzeilige Textfelder (JTextArea)
Pfeil 9.6.6 Editor-Klasse (JEditorPane) *
Pfeil 9.7 Swing Action *
Pfeil 9.8 JComponent und Component als Basis aller Komponenten
Pfeil 9.8.1 Hinzufügen von Komponenten
Pfeil 9.8.2 Tooltips (Kurzhinweise)
Pfeil 9.8.3 Rahmen (Border) *
Pfeil 9.8.4 Fokus und Navigation *
Pfeil 9.8.5 Ereignisse jeder Komponente *
Pfeil 9.8.6 Die Größe und Position einer Komponente *
Pfeil 9.8.7 Komponenten-Ereignisse *
Pfeil 9.8.8 UI-Delegate – der wahre Zeichner *
Pfeil 9.8.9 Undurchsichtige (opake) Komponente *
Pfeil 9.8.10 Properties und Listener für Änderungen *
Pfeil 9.9 Container
Pfeil 9.9.1 Standardcontainer (JPanel)
Pfeil 9.9.2 Bereich mit automatischen Rollbalken (JScrollPane)
Pfeil 9.9.3 Reiter (JTabbedPane)
Pfeil 9.9.4 Teilungskomponente (JSplitPane)
Pfeil 9.10 Alles Auslegungssache: die Layoutmanager
Pfeil 9.10.1 Übersicht über Layoutmanager
Pfeil 9.10.2 Zuweisen eines Layoutmanagers
Pfeil 9.10.3 Im Fluss mit FlowLayout
Pfeil 9.10.4 BoxLayout
Pfeil 9.10.5 Mit BorderLayout in alle Himmelsrichtungen
Pfeil 9.10.6 Rasteranordnung mit GridLayout
Pfeil 9.10.7 Der GridBagLayoutmanager *
Pfeil 9.10.8 Null-Layout *
Pfeil 9.10.9 Weitere Layoutmanager
Pfeil 9.11 Rollbalken und Schieberegler
Pfeil 9.11.1 Schieberegler (JSlider)
Pfeil 9.11.2 Rollbalken (JScrollBar) *
Pfeil 9.12 Kontrollfelder, Optionsfelder, Kontrollfeldgruppen
Pfeil 9.12.1 Kontrollfelder (JCheckBox)
Pfeil 9.12.2 ItemSelectable, ItemListener und das ItemEvent
Pfeil 9.12.3 Sich gegenseitig ausschließende Optionen (JRadioButton)
Pfeil 9.13 Fortschritte bei Operationen überwachen *
Pfeil 9.13.1 Fortschrittsbalken (JProgressBar)
Pfeil 9.13.2 Dialog mit Fortschrittsanzeige (ProgressMonitor)
Pfeil 9.14 Menüs und Symbolleisten
Pfeil 9.14.1 Die Menüleisten und die Einträge
Pfeil 9.14.2 Menüeinträge definieren
Pfeil 9.14.3 Einträge durch Action-Objekte beschreiben
Pfeil 9.14.4 Mit der Tastatur: Mnemonics und Shortcut
Pfeil 9.14.5 Der Tastatur-Shortcut (Accelerator)
Pfeil 9.14.6 Tastenkürzel (Mnemonics)
Pfeil 9.14.7 Symbolleisten alias Toolbars
Pfeil 9.14.8 Popup-Menüs
Pfeil 9.14.9 System-Tray nutzen *
Pfeil 9.15 Das Model-View-Controller-Konzept
Pfeil 9.16 Auswahlmenüs, Listen und Spinner
Pfeil 9.16.1 Listen (JList)
Pfeil 9.16.2 Auswahlmenü (JComboBox)
Pfeil 9.16.3 Drehfeld (JSpinner) *
Pfeil 9.16.4 Datumsauswahl *
Pfeil 9.17 Tabellen (JTable)
Pfeil 9.17.1 Ein eigenes Tabellen-Model
Pfeil 9.17.2 Basisklasse für eigene Modelle (AbstractTableModel)
Pfeil 9.17.3 Ein vorgefertigtes Standard-Modell (DefaultTableModel)
Pfeil 9.17.4 Ein eigener Renderer für Tabellen
Pfeil 9.17.5 Zell-Editoren
Pfeil 9.17.6 Größe und Umrandung der Zellen *
Pfeil 9.17.7 Spalteninformationen *
Pfeil 9.17.8 Tabellenkopf von Swing-Tabellen *
Pfeil 9.17.9 Selektionen einer Tabelle *
Pfeil 9.17.10 Automatisches Sortieren und Filtern mit RowSorter *
Pfeil 9.18 Bäume (JTree)
Pfeil 9.18.1 JTree und sein TreeModel und TreeNode
Pfeil 9.18.2 Selektionen bemerken
Pfeil 9.18.3 Das TreeModel von JTree *
Pfeil 9.19 JRootPane und JDesktopPane *
Pfeil 9.19.1 Wurzelkomponente der Top-Level-Komponenten (JRootPane)
Pfeil 9.19.2 JDesktopPane und die Kinder von JInternalFrame
Pfeil 9.19.3 JLayeredPane
Pfeil 9.20 Dialoge und Window-Objekte
Pfeil 9.20.1 JWindow und JDialog
Pfeil 9.20.2 Modal oder nicht-modal?
Pfeil 9.20.3 Standarddialoge mit JOptionPane
Pfeil 9.20.4 Der Dateiauswahldialog
Pfeil 9.20.5 Der Farbauswahldialog JColorChooser *
Pfeil 9.21 Flexibles Java-Look-and-Feel
Pfeil 9.21.1 Look and Feel global setzen
Pfeil 9.21.2 UIManager
Pfeil 9.21.3 Die Windows-Optik mit JGoodies Looks verbessern *
Pfeil 9.22 Swing-Komponenten neu erstellen oder verändern *
Pfeil 9.22.1 Überlagerungen mit dem Swing-Komponenten-Dekorator JLayer
Pfeil 9.23 Die Zwischenablage (Clipboard)
Pfeil 9.23.1 Clipboard-Objekte
Pfeil 9.23.2 Mit Transferable auf den Inhalt zugreifen
Pfeil 9.23.3 DataFlavor ist das Format der Daten in der Zwischenablage
Pfeil 9.23.4 Einfügungen in der Zwischenablage erkennen
Pfeil 9.23.5 Drag & Drop
Pfeil 9.24 Undo durchführen *
Pfeil 9.25 AWT, Swing und die Threads
Pfeil 9.25.1 Ereignisschlange (EventQueue) und AWT-Event-Thread
Pfeil 9.25.2 Swing ist nicht thread-sicher
Pfeil 9.25.3 invokeLater() und invokeAndWait()
Pfeil 9.25.4 SwingWorker
Pfeil 9.25.5 Eigene Ereignisse in die Queue setzen *
Pfeil 9.25.6 Auf alle Ereignisse hören *
Pfeil 9.26 Barrierefreiheit mit der Java Accessibility API
Pfeil 9.27 Zeitliches Ausführen mit dem javax.swing.Timer
Pfeil 9.28 Die Zusatzkomponentenbibliothek SwingX
Pfeil 9.28.1 Im Angebot: Erweiterte und neue Swing-Komponenten
Pfeil 9.28.2 Überblick über erweiterte Standard-Swing-Klassen
Pfeil 9.28.3 Neue Swing-Klassen
Pfeil 9.28.4 Weitere SwingX-Klassen
Pfeil 9.28.5 SwingX-Installation
Pfeil 9.29 Alternativen zu programmierten Oberflächen, AWT und Swing *
Pfeil 9.29.1 Deklarative Beschreibungen der Oberfläche: Swing JavaBuilder, Swixml
Pfeil 9.29.2 SWT (Standard Widget Toolkit)
Pfeil 9.30 Zum Weiterlesen

Galileo Computing - Zum Seitenanfang

9.11 Rollbalken und SchiebereglerZur nächsten Überschrift

Ein Rollbalken (engl. scrollbar, auch Bildlaufleiste genannt) ist eine Komponente, die es einem Benutzer auf einfache Weise ermöglicht, einen ganzzahligen Wert aus einem vorher festgelegten Wertebereich auszuwählen.

Ein Schieberegler (engl. slider) ist mit dem Rollbalken verwandt. Er dient im Speziellen jedoch zur Auswahl eines Werts aus einem Zahlenbereich. Beim Slider lässt sich zudem noch eine Skala aus verschieden großen Strichen (engl. tick marks) setzen.


Galileo Computing - Zum Seitenanfang

9.11.1 Schieberegler (JSlider)Zur nächsten ÜberschriftZur vorigen Überschrift

Die Swing-Bibliothek implementiert Slider durch die Klasse JSlider. Dass Ticks gezeichnet werden, bestimmt der Aufruf setPaintTicks(true). Damit sich die Abstände der Unterteilungen setzen lassen, wird setMinorTickSpacing(int) oder auch setMajorTickSpacing(int) verwendet. Die letzten Methoden sind unabhängig voneinander. Zusätzlich zu den Ticks erlaubt die Klasse auch eine automatische Nummerierung der Striche. Dann muss die Methode setPaintLabels(true) gesetzt werden. Eigene Wertebereiche werden über setLabelTable(Dictionary labels) zugewiesen; der Assoziativspeicher verbindet Integer-Objekte für Positionen mit JComponent-Komponenten, die dann am JSlider gezeichnet werden. Auf Bewegungsereignisse horcht ein ChangeListener.

Abbildung

Abbildung 9.27: Die verschiedenen JSlider ohne Nummerierung

Listing 9.33: com/tutego/insel/ui/swing/JSliderDemo.java, main()

JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setLayout( new GridLayout(4, 0, 0, 7) );

JSlider slider1 = new JSlider( 0, 100, 50 );

frame.add( slider1 );

JSlider slider2 = new JSlider( 0, 100, 50 );
slider2.setPaintTicks( true );
slider2.setMinorTickSpacing( 5 );

frame.add( slider2 );

JSlider slider3 = new JSlider( 0, 100, 50 );
slider3.setPaintTicks( true );
slider3.setMajorTickSpacing( 10 );

frame.add( slider3 );

JSlider slider4 = new JSlider ( 0, 100, 50 );
slider4.setPaintTicks(true);
slider4.setMajorTickSpacing( 10 );
slider4.setMinorTickSpacing( 2 );
slider4.setPaintTrack( false );

slider4.addChangeListener( new ChangeListener() {
@Override public void stateChanged( ChangeEvent e ) {
System.out.println( ((JSlider) e.getSource()).getValue() );
}
} );
frame.add( slider4 );

frame.pack();
frame.setVisible( true );

Galileo Computing - Zum Seitenanfang

9.11.2 Rollbalken (JScrollBar) *Zur nächsten ÜberschriftZur vorigen Überschrift

Mittels eines verschiebbaren Knopfes oder der Bildlaufpfeile lässt sich ein Wert einstellen. Der Rollbalken kann vertikal oder horizontal angeordnet werden. Er besitzt für Verschiebungen folgende Regel hinsichtlich des internen Werts: Bei einem vertikalen Rollbalken liegt der größte Wert oben, und bei einem horizontalen Rollbalken liegt er auf der linken Seite. Wird der Rollbalken verändert, werden AdjustmentEvent-Objekte erzeugt. Dem JScrollBar ist ein BoundedRangeModel zugewiesen, das die Daten speichert.

Abbildung

Abbildung 9.28: Ein Rollbalken

Beispiel: Die Position eines Rollbalkens mit dem Textfeldeintrag synchron halten

Das folgende Programm verwendet ein JScrollBar- und ein JTextField-Objekt. Beide benachrichtigen sich bei Änderungen. Wird also im Textfeld eine neue Zahl eingesetzt, zeigt der Rollbalken diese an. Verändern wir den Regler, so wird die passende Zahl in das Textfeld gesetzt. Die Verbindung zwischen den beiden Komponenten wird mit zwei Listener-Objekten hergestellt.

Listing 9.34: com/tutego/insel/ui/swing/JScrollBarDemo.java, main()

JFrame f = new JFrame();
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

f.setLayout( new GridLayout(2, 1) );

final JScrollBar sb = new JScrollBar( Adjustable.HORIZONTAL, 50, 10, 0, 100 + 10 );
final JTextField tf = new JTextField( "" + sb.getValue(), 20 );

f.add ( tf );
f.add ( sb );

tf.addActionListener( new ActionListener() {
@Override public void actionPerformed( ActionEvent e ) {
sb.setValue( Integer.parseInt(tf.getText()) );
}
} );

sb.addAdjustmentListener( new AdjustmentListener() {

@Override public void adjustmentValueChanged( AdjustmentEvent e ) {
tf.setText( "" + sb.getValue() );
}
} );

f.pack();
f.setVisible( true );

Die JScrollBar-API

Die wichtigen Properties einer JScrollBar sind: Orientierung (horizontal, vertikal), Minimalwert, Maximalwert, aktueller Wert. Für die Orientierung sind zwei Konstanten in der Schnittstelle java.awt.Adjustable deklariert; die JScrollBar implementiert HORIZONTAL und VERTICAL. Ein Rollbalken kann immer nur eines von beiden sein. Das Minimum steht standardmäßig auf 0 und das Maximum auf 100.

class javax.swing.JScrollBar
extends JComponent
implements Adjustable, Accessible
  • JScrollBar()
    Erzeugt einen vertikalen Rollbalken.
  • JScrollBar(int orientation)
    Erzeugt einen neuen Rollbalken mit der angegebenen Richtung.
  • JScrollBar(int orientation, int value, int extent, int minimum, int maximum)
    Erzeugt einen neuen Rollbalken mit der angegebenen Richtung. Zudem werden der Initialwert, die Größe, das Minimum und das Maximum gesetzt. Die Eigenschaften minimum und maximum geben die Grenzen des Werts an, die der Rollbalken annehmen kann. Geben wir maximum kleiner oder gleich minimum an, dann wird maximum = minimum + 1 gesetzt. Der weitere zusätzliche Parameter value bestimmt den Startwert des Rollbalkens. value darf nicht kleiner als minimum sein. Ist er es dennoch, so wird value = minimum gesetzt. Der value steht bei beiden auf 0, das heißt, bei einem vertikalen Rollbalken steht der Knopf unten und bei einem horizontalen Rollbalken links. Mit extent können wir die Größe des Schiebers bestimmen. Daneben hat extent aber noch eine andere Funktion, denn es bestimmt zusätzlich die Größe der Veränderung, wenn der Schieber bewegt wird – mit anderen Worten: die Schrittweite. Da die Schieber unter Windows nicht proportional zur Größe des darzustellenden Inhalts sind, lässt sich hier einfach ein proportionaler Rollbalken implementieren. So können wir leicht von der Größe des Knopfs auf den Umfang schließen. Der Wert von extent muss kleiner sein als der Wertebereich des Rollbalkens (extent <= maximumminimum). Verstößt visible gegen die einfache Gleichung, wird visible = maximum minimum gewählt. Erreicht extent einen Wert kleiner 1, wird dieser zurück auf 1 gesetzt. Für die beiden anderen Konstruktoren ist der Wert von extent auf 10 festgelegt.
  • int getOrientation()
    Liefert die Orientierung des Rollbalkens.
  • void setOrientation(int orientation)
    Setzt die Orientierung neu.
  • int getMaximum()
  • int getMinimum()
    Liefert das Maximum beziehungsweise Minimum des Rollbalkens.
  • void setMaximum(int newMaximum)
  • void setMinimum(int newMinimum)
    Setzt den maximalen beziehungsweise minimalen anzunehmenden Wert des Rollbalkens.
  • int getValue()
    Liefert den aktuellen Wert des Rollbalkens.
  • void setValue(int newValue)
    Setzt einen neuen Wert.
  • int getBlockIncrement()
    Liefert die Blockschrittweite vom Rollbalken. Diese ist definiert durch die Anzahl Zeilen, die beim Klick auf die Bildlaufleiste (nicht Pfeile), weitergeblättert wird. Im Allgemeinen führt ein Druck auf die Bild¼-Taste zu demselben Effekt.
  • void setBlockIncrement(int v)
    Setzt die Blockschrittweite für den Rollbalken.
  • int getUnitIncrement()
    Liefert die Schrittweite des Rollbalkens, die bestimmt, wie weit die aktuelle Seite weitergeblättert wird, wenn die Pfeile des Rollbalkens angewählt werden. Die Operation ist mit einem Druck auf die ½/¼-Tasten vergleichbar.
  • void setUnitIncrement(int v)
    Setzt die Schrittweite neu.
  • int getVisibleAmount()
    Liefert die Größe des sichtbaren Bereichs.
  • void setVisibleAmount(int extent)
    Setzt eine neue Größe des sichtbaren Bereichs.
  • void setValues(int newValue, int newExtent, int newMin, int newMax)
    Setzt die vier Eigenschaften des Rollbalkens.
  • void addAdjustmentListener(AdjustmentListener l)
    Fügt einen AdjustmentListener hinzu, der auf einen AdjustmentEvent hört.
  • void removeAdjustmentListener(AdjustmentListener l)
    Entfernt den AdjustmentListener wieder.

Der AdjustmentListener, der auf Änderungen hört

Objekte, die an Änderungen interessiert sind, müssen die Schnittstelle AdjustmentListener implementieren und sich beim jeweiligen Rollbalken registrieren. AdjustmentListener spielen bis auf JScrollBar in Swing keine weitere Rolle; unter AWT haben sie bei der java.awt.Scrollbar die Bewegungen gemeldet.

interface java.awt.event.AdjustmentListener
extends EventListener
  • void adjustmentValueChanged(AdjustmentEvent e)
    Wird vom Rollbalken aufgerufen, wenn das Objekt seinen Wert verändert.

Das AdjustmentEvent verrät uns, welches Ereignis zu der Veränderung geführt hat.

class java.awt.AdjustmentEvent
extends AWTEvent
  • Adjustable getAdjustable()
    Gibt das Adjustable-Objekt zurück, bei dem das Event auftrat.
  • int getValue()
    Gibt den Wert im Adjustment-Objekt zurück.
  • int getAdjustmentType()
    Gibt eine der Konstanten UNIT_INCREMENT, UNIT_DECREMENT, BLOCK_INCREMENT, BLOCK_DECREMENT oder TRACK zurück, die den Typ des Ereignisses beschreiben.

Wir beschreiben im folgenden Programmlisting einen AdjustmentListener, der alle möglichen Informationen über die Bewegung des Rollbalkens protokolliert:

Listing 9.35: com/tutego/insel/ui/swing/AllAdjustmentListener.java, adjustmentValueChanged()

@Override public void adjustmentValueChanged( AdjustmentEvent e )
{
System.out.println( e.getAdjustable().getOrientation() == Adjustable.HORIZONTAL ?
"Adjustable.HORIZONTAL" : "Adjustable.VERTICAL" );

switch ( e.getAdjustmentType() )
{
case AdjustmentEvent.UNIT_INCREMENT:
System.out.println( "AdjustmentEvent.UNIT_INCREMENT" );
break;
case AdjustmentEvent.UNIT_DECREMENT:
System.out.println( "AdjustmentEvent.UNIT_DECREMENT" );
break;
case AdjustmentEvent.BLOCK_DECREMENT:
System.out.println( "AdjustmentEvent.BLOCK_DECREMENT" );
break;
case AdjustmentEvent.BLOCK_INCREMENT:
System.out.println( "AdjustmentEvent.BLOCK_INCREMENT" );
break;
case AdjustmentEvent.TRACK:
System.out.println( "AdjustmentEvent.TRACK" );
break;
}
System.out.println( " value: " + e.getValue() );
}


Ihr Kommentar

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







<< zurück
  Zum Katalog
Zum Katalog: Java 7 – Mehr als eine Insel
Java 7 – Mehr als eine Insel
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Java und XML






 Java und XML


Zum Katalog: Einstieg in Eclipse 3.7






 Einstieg in
 Eclipse 3.7


Zum Katalog: Android 3






 Android 3


Zum Katalog: NetBeans Platform 7






 NetBeans Platform 7


Zum Katalog: Java ist auch eine Insel






 Java ist
 auch eine Insel


Zum Katalog: Apps entwickeln für Android 4






 Apps entwickeln
 für Android 4


Zum Katalog: Java 7






 Java 7


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das 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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de