Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Sprachbeschreibung
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Mathematisches
6 Eigene Klassen schreiben
7 Angewandte Objektorientierung
8 Exceptions
9 Generics, innere Klassen
10 Die Klassenbibliothek
11 Threads und nebenläufige Programmierung
12 Datenstrukturen und Algorithmen
13 Raum und Zeit
14 Dateien und Datenströme
15 Die eXtensible Markup Language (XML)
16 Grafische Oberflächen mit Swing
17 Grafikprogrammierung
18 Netzwerkprogrammierung
19 Verteilte Programmierung mit RMI und Web–Services
20 JavaServer Pages und Servlets
21 Applets
22 Midlets und die Java ME
23 Datenbankmanagement mit JDBC
24 Reflection und Annotationen
25 Logging und Monitoring
26 Sicherheitskonzepte
27 Java Native Interface (JNI)
28 Dienstprogramme für die Java-Umgebung
Stichwort

Download:
- ZIP, ca. 14,1 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java ist auch eine Insel (8. Auflage) von Christian Ullenboom
Programmieren mit der Java Standard Edition Version 6
Buch: Java ist auch eine Insel (8. Auflage)

Java ist auch eine Insel (8. Aufl.)
8., aktual. Auflage, geb., mit DVD
1.475 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1371-4
Pfeil 16 Grafische Oberflächen mit Swing
Pfeil 16.1 Das Abstract Window Toolkit und Swing
Pfeil 16.1.1 SwingSet-Demos
Pfeil 16.1.2 Abstract Window Toolkit (AWT)
Pfeil 16.1.3 Java Foundation Classes
Pfeil 16.1.4 Was Swing von AWT unterscheidet
Pfeil 16.1.5 Die Klasse Toolkit
Pfeil 16.2 Fenster unter grafischen Oberflächen
Pfeil 16.2.1 Swing-Fenster darstellen
Pfeil 16.2.2 Fenster schließbar machen – setDefaultCloseOperation()
Pfeil 16.2.3 AWT-Fenster darstellen
Pfeil 16.2.4 Sichtbarkeit des Fensters
Pfeil 16.2.5 Größe und Position des Fensters verändern
Pfeil 16.2.6 Unterklassen der Fenster-Klassen bilden
Pfeil 16.2.7 Fenster- und Dialog-Dekoration, Transparenz
Pfeil 16.2.8 Dynamisches Layout während einer Größenänderung
Pfeil 16.3 Beschriftungen (JLabel)
Pfeil 16.3.1 Mehrzeiliger Text, HTML in der Darstellung
Pfeil 16.4 Icon und ImageIcon für Bilder auf Swing-Komponenten
Pfeil 16.5 Es tut sich was – Ereignisse beim AWT
Pfeil 16.5.1 Die Klasse AWTEvent
Pfeil 16.5.2 Events auf verschiedenen Ebenen
Pfeil 16.5.3 Swings Ereignisquellen und Horcher (Listener)
Pfeil 16.5.4 Listener implementieren
Pfeil 16.5.5 Listener bei dem Ereignisauslöser anmelden/abmelden
Pfeil 16.5.6 Aufrufen der Listener im AWT-Event-Thread
Pfeil 16.5.7 Adapterklassen nutzen
Pfeil 16.5.8 Innere Mitgliedsklassen und innere anonyme Klassen
Pfeil 16.6 Schaltflächen
Pfeil 16.6.1 Normale Schaltflächen (JButton)
Pfeil 16.6.2 Der aufmerksame ActionListener
Pfeil 16.6.3 Basisklasse AbstractButton
Pfeil 16.6.4 Wechselknopf (JToggleButton)
Pfeil 16.7 Swing Action
Pfeil 16.8 JComponent und Component als Basis aller Komponenten
Pfeil 16.8.1 Tooltips
Pfeil 16.8.2 Rahmen (Border)
Pfeil 16.8.3 Fokus und Navigation
Pfeil 16.8.4 Ereignisse jeder Komponente
Pfeil 16.8.5 Die Größe und Position einer Komponente
Pfeil 16.8.6 Komponenten-Ereignisse
Pfeil 16.8.7 Hinzufügen von Komponenten
Pfeil 16.8.8 UI-Delegate – der wahre Zeichner
Pfeil 16.8.9 Undurchsichtige (opake) Komponente
Pfeil 16.8.10 Properties und Listener für Änderungen
Pfeil 16.9 Container
Pfeil 16.9.1 Standardcontainer (JPanel)
Pfeil 16.9.2 Bereich mit automatischen Rollbalken (JScrollPane)
Pfeil 16.9.3 Reiter (JTabbedPane)
Pfeil 16.9.4 Teilungs-Komponente (JSplitPane)
Pfeil 16.10 Alles Auslegungssache: die Layoutmanager
Pfeil 16.10.1 Übersicht über Layoutmanager
Pfeil 16.10.2 Zuweisen eines Layoutmanagers
Pfeil 16.10.3 Im Fluss mit FlowLayout
Pfeil 16.10.4 Mit BorderLayout in allen Himmelsrichtungen
Pfeil 16.10.5 Rasteranordnung mit GridLayout
Pfeil 16.10.6 Der GridBagLayout-Manager
Pfeil 16.10.7 Null-Layout
Pfeil 16.10.8 BoxLayout
Pfeil 16.10.9 Weitere Layoutmanager
Pfeil 16.11 Rollbalken und Schieberegler
Pfeil 16.11.1 Schieberegler (JSlider)
Pfeil 16.11.2 Rollbalken (JScrollBar)
Pfeil 16.12 Kontrollfelder, Optionsfelder, Kontrollfeldgruppen
Pfeil 16.12.1 Kontrollfelder (JCheckBox)
Pfeil 16.12.2 ItemSelectable, ItemListener und das ItemEvent
Pfeil 16.12.3 Sich gegenseitig ausschließende Optionen (JRadioButton)
Pfeil 16.13 Fortschritte bei Operationen überwachen
Pfeil 16.13.1 Fortschrittsbalken (JProgressBar)
Pfeil 16.13.2 Dialog mit Fortschrittsanzeige (ProgressMonitor)
Pfeil 16.14 Menüs und Symbolleisten
Pfeil 16.14.1 Die Menüleisten und die Einträge
Pfeil 16.14.2 Menüeinträge definieren
Pfeil 16.14.3 Einträge durch Action-Objekte beschreiben
Pfeil 16.14.4 Mit der Tastatur: Mnemonics und Shortcut
Pfeil 16.14.5 Der Tastatur-Shortcut (Accelerator)
Pfeil 16.14.6 Tastenkürzel (Mnemonics)
Pfeil 16.14.7 Symbolleisten alias Toolbars
Pfeil 16.14.8 Popup-Menüs
Pfeil 16.14.9 System-Tray nutzen
Pfeil 16.15 Das Model-View-Controller-Konzept
Pfeil 16.16 Auswahlmenüs, Listen und Spinner
Pfeil 16.16.1 Auswahlmenü (JComboBox)
Pfeil 16.16.2 Zuordnung einer Taste mit einem Eintrag
Pfeil 16.16.3 Datumsauswahl
Pfeil 16.16.4 Listen (JList)
Pfeil 16.16.5 Drehfeld (JSpinner)
Pfeil 16.17 Texteingabefelder
Pfeil 16.17.1 Text in einer Eingabezeile
Pfeil 16.17.2 Die Oberklasse der Text-Komponenten (JTextComponent)
Pfeil 16.17.3 Geschützte Eingaben (JPasswordField)
Pfeil 16.17.4 Validierende Eingabefelder (JFormattedTextField)
Pfeil 16.17.5 Einfache mehrzeilige Textfelder (JTextArea)
Pfeil 16.17.6 Editor-Klasse (JEditorPane)
Pfeil 16.18 Tabellen (JTable)
Pfeil 16.18.1 Ein eigenes Tabellen-Model
Pfeil 16.18.2 Basisklasse für eigene Modelle (AbstractTableModel)
Pfeil 16.18.3 Vorgefertigtes Standard-Modell (DefaultTableModel)
Pfeil 16.18.4 Ein eigener Renderer für Tabellen
Pfeil 16.18.5 Zell-Editoren
Pfeil 16.18.6 Größe und Umrandung der Zellen
Pfeil 16.18.7 Spalteninformationen
Pfeil 16.18.8 Tabellenkopf von Swing-Tabellen
Pfeil 16.18.9 Selektionen einer Tabelle
Pfeil 16.18.10 Automatisches Sortieren und Filtern mit RowSorter
Pfeil 16.19 Bäume (JTree)
Pfeil 16.19.1 JTree und sein TreeModel und TreeNode
Pfeil 16.19.2 Selektionen bemerken
Pfeil 16.19.3 Das TreeModel von JTree
Pfeil 16.20 JRootPane und JDesktopPane
Pfeil 16.20.1 Wurzelkomponente der Top-Level-Komponenten (JRootPane)
Pfeil 16.20.2 JDesktopPane und die Kinder JInternalFrame
Pfeil 16.21 Dialoge und Window-Objekte
Pfeil 16.21.1 JWindow und JDialog
Pfeil 16.21.2 Modal oder nicht-modal
Pfeil 16.21.3 Standarddialoge mit JOptionPane
Pfeil 16.21.4 Der Dateiauswahldialog
Pfeil 16.22 Flexibles Java-Look-and-Feel
Pfeil 16.22.1 Look and Feel global setzen
Pfeil 16.22.2 UIManager
Pfeil 16.22.3 Windowsoptik mit JGoodies Looks verbessern
Pfeil 16.23 Die Zwischenablage (Clipboard)
Pfeil 16.23.1 Clipboard-Objekte
Pfeil 16.23.2 Auf den Inhalt zugreifen mit Transferable
Pfeil 16.23.3 DataFlavor ist das Format der Daten in der Zwischenablage
Pfeil 16.23.4 Einfügungen in der Zwischenablage erkennen
Pfeil 16.23.5 Drag
Pfeil 16.24 Undo durchführen
Pfeil 16.25 AWT, Swing und die Threads
Pfeil 16.25.1 Ereignisschlange (EventQueue) und AWT-Event-Thread
Pfeil 16.25.2 Swing ist nicht Thread-sicher
Pfeil 16.25.3 invokeLater() und invokeAndWait()
Pfeil 16.25.4 SwingWorker
Pfeil 16.25.5 Eigene Ereignisse in die Queue setzen
Pfeil 16.25.6 Auf alle Ereignisse hören
Pfeil 16.26 Barrierefreiheit mit der Java Accessibility API
Pfeil 16.27 Zeitliches Ausführen mit dem javax.swing.Timer
Pfeil 16.28 Alternativen zu AWT und Swing
Pfeil 16.28.1 XML-Beschreibungen der Oberfläche: Swixml, XUL/Luxor
Pfeil 16.28.2 SWT (Standard Widget Toolkit)
Pfeil 16.29 Zum Weiterlesen


Galileo Computing - Zum Seitenanfang

16.11 Rollbalken und Schieberegler Zur nächsten ÜberschriftZur vorigen Ü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

16.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 16.11 Die verschiedenen JSlider ohne Nummerierung

Listing 16.25 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

16.11.2 Rollbalken (JScrollBar) topZur 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 auf der linken Seite. Wird der Rollbalken verändert, werden AdjustmentEvent-Objekte erzeugt. Dem JScrollBar ist ein BoundedRangeModel zugewiesen, das die Daten speichert.

Abbildung 16.12 Ein Rollbalken

Position eines Rollbalkens mit 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 16.26 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 = maximumminimum 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(), 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 definiert beim Druck auf die Bildlaufleiste (nicht Pfeile), um wie viele Zeilen weitergeblättert wird. Im Allgemeinen führt ein Druck auf die Bild mit Pfeil nach unten-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 Pfeil nach oben/Pfeil nach unten-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 AdjustmentEvents 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 16.27 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 ist auch eine Insel





Java ist auch eine Insel
Jetzt bestellen


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

 Tipp
Zum Katalog: Coding for Fun





 Coding for Fun


 Buchempfehlungen
Zum Katalog: Objektorientierte Programmierung





 Objektorientierte
 Programmierung


Zum Katalog: Einstieg in Eclipse 3.4






 Einstieg in
 Eclipse 3.4


Zum Katalog: Java 6 lernen mit Eclipse






 Java 6 lernen
 mit Eclipse


Zum Katalog: NetBeans Platform 6






 NetBeans
 Platform 6


Zum Katalog: Java und XML






 Java und XML


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: C++ von A bis Z






 C++ von A bis Z


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2009
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.


[Galileo Computing]

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