Kaffee & Kuchen
Kaffee & Kuchen
die führende deutsche
Java-Seite
von Christoph Bergmann
und Hannes Gamperl



Animacons für jeden
Java-Grundlagen

Suche

Erweiterte Suche

Kommunikation
Chat
Forum

Java-Neuigkeiten

Einführung
Was ist Java?
Wie fange ich an?
Bücher über Java

Workshops
Animacons für jeden
Einleitung
Java- & Grafik-Grundlagen

Zeile für Zeile zum Animacon
Init, Start & Stop
Der Hauptteil
Kompilieren & Anzeigen

Der komplette Quellcode
Das Beispiel in Aktion
Chat selbst gemacht
JDBC

Wissen
Entwicklungssysteme

Ressourcen
Applet-Bibliothek
Deutsche Java-Links
Glossar
News-Archiv

K&K Intern
Pressespiegel
Auszeichnungen
Werbung auf K&K

Weitere Angebote
Milch&Zucker: DHTML
K.&Kekse: Javascript
mac.seite: Apple

Fragen, Lob & Kritik
bitte in das Forum

EMail an java@acc.de
nur, wenn es nichts Allgemeines ist.

Kaffee & Kuchen
ist ein Service von
ACCESS Internet

    Bei Java handelt es sich um eine objektorientierte Sprache. Der Kern dieser Sprachen sind, wie der Name ja schon sagt, Objekte. Wie Objekte aussehen wird in den sog. Klassen beschrieben. Objekte sind die tatsächlich existierenden Ausführungen von Klassen, man spricht von einem Objekt auch als der Instanz einer Klasse. Wer mag, kann sich Klassen als Baupläne vorstellen und Objekte als tatsächlich gebaute Häuser.

    In Klassen werden Variablen und Methoden, die auf diese Variablen zugreifen und sie verändern können, gebündelt.Das ist der grosse Unterschied zu herkömmlichen Sprachen wie BASIC, Pascal oder C, in denen Variablen und Funktionen erstmal keinen Bezug zueinander haben.

    Je umfangreicher und komplexer ein Programm wird, desto grösser wird das Problem der "Querschläger" - bestimmte Teile eines Programms verändern Variablen in anderen Programmteilen, obwohl dies garnicht beabsichtigt war. In Java wurde deshalb grossen Wert auf die Abschottung von Objekten gelegt: Ein ausgeklügeltes abgestuftes System regelt den Zugriff auf die Variablen und Methoden in einer Klasse. Man kann sich Klassen auch als Art Zellen vorstellen: Die Methoden und Variablen, die von aussen zugänglich sind, schützen die Variablen und Methoden in der Zelle.

    Eine der wichtigsten Eigenschaften objektorientierter Sprachen ist die sogenannte Vererbung: Damit kann eine bestehende Klasse als Vorlage für eine neue Klasse verwendet werden und die darin enthaltenen Variablen und Methoden mitverwendet und auch neu definiert werden. Zu Java werden eine Reihe bereits vorgefertigter Klassen, in thematisch geordneten Klassenbibliotheken mitgeliefert, die Grundfunktionen und Standardaufgaben abdecken. Dazu gehören z.B. die Dateibehandlung, Grafikausgabe, Internetprotokolle, aber auch häufig benötigte Algorithmen wie Listenverwaltung, Hash-Tables usw.


    Threads

    Moderne Programme müssen in der Lage sein, mehrere Funktionen gleichzeitig auszuführen: Während ein Zähler hochzählt, bewegen sich Objekte auf dem Bildschrirm und der Benutzer scrollt einen Text - all dies muss
    (scheinbar) gleichzeitig vom Programm erledigt werden. Während in anderen Programmiersprachen diese Funktionalität mit komplizierten Betriebssystemaufrufen implementiert werden muss, hat Java diese Eigenschaft in die Sprache mit hineingenommen und erlaubt es auf einfache Art und Weise mehrere parallele Abläufe zu programmieren.


    Applets

    Ein Applet ist eine spezielle Art von Programm: Es wird normalerweise direkt aus dem Internet geladen und sogleich im Browser ausgeführt. Damit das Applet keinen Unfug anstellen kann (z.B. Daten ausspähen oder löschen) unterliegt es deshalb einer Reihe von Sicherheitsbeschränkungen und bekommt bestimmte Vorgaben, an die es sich halten muss.

    Der "Lebenszyklus" eines Applets unterscheidet sich von einer normalen Applikation: Das Applet wird vom Browser gestartet und, z.B. wenn der Benutzer die entsprechende Seite verlässt, wieder gestoppt.

    Folgende Methoden kennzeichnen die Lebensphasen eines Applets. Um den Aufruf braucht sich der Programmierer dabei nicht zu kümmern, dies geschieht automatisch wenn der entsprechende Fall eintritt:

    init()   	Initialisierung
    
    start()  	Starten
    
    stop()   	Stoppen
    
    destroy()	Löschen
    
    paint()  	Grafikausgabe
    


    Animationen ohne Flimmern durch Double-Buffering

    Wenn Sie mit einfachen ersten Grafikausgaben beginnen, werden Sie wahrscheinlich geneigt sein, in den für die Grafik vorgesehenen Bereich munter Ausgaben zu machen. Während dies für manche einfache Aufgaben durchaus seinen Sinn haben kann, stösst man bei schnellen Animationen auf ein Problem: Bei grösseren Änderungen ist es meistens notwendig, zuerst den Grafikbereich zu löschen, um dann die neuen Ausgaben in den nun freien Bereich zu machen. Führt man dies direkt im sichtbaren Grafikbereich aus, erzeugt dies ein sehr unschönes Flimmern des Bildes, da der Benutzer jede Änderung sofort zu sehen bekomt - also auch das Löschen. Die Lösung besteht nun darin, in einem zweiten, gleich grossen Grafikbereich alle notwendigen Änderungen durchzuführen und nach Beendigung aller Ausgaben diesen in den sichtbaren Bereich zu kopieren. Diese Technik wird als Double-Buffering bezeichnet.




Einleitung Zeile für Zeile zum Animacon
Nach oben

© 1998 Christoph Bergmann / ACCESS Internet. Alle Rechte vorbehalten.