kopf
brlogo
fensterobenrechts
   
   
fensteruntenblau
   
 

Vom Objekt zur Polymorphie

6.  Kennt-Beziehungen (Assoziationen) (Java/BlueJ)

 

9. Projekt "Wischfeste Objekte"

 

Das Problem:

Immer wenn ein andere Zeichenfenster durch ein anderes überlagert wird, geht der Inhalt des Zeichenfensters verloren: Gezeichnete Objekte sind nicht wischfest.

Das war zumindest bis einschließlich Windows XP so. Unter Vista und Windows 7 tritt dieses Verhalten nur ein, wenn kein Aero-Design ausgewählt ist. Hierbei ist im Betriebbsystem offenbar eine neue Verwaltung überdeckter Fenster hinzugekommen. Unter Windows 8 und Linux liegen derzeit keine Erfahrungen vor.

 

     kennt_10

        (Abb. Wischfestes und nicht wischfestes Gebäude)

 

Die Ursache:

  • Das Betriebssystem Windows verwaltet zwar alle auf dem Bildschirm vorhandenen Fenster, jedoch nicht ihren Inhalt.
  • Überlagert ein Fenster ein anderes, so wird dieser Teil des Bildschirms einfach übermalt, und der „hinter“ diesem neu gezeichneten Bereich befindliche Inhalt ist verloren - sofern das betroffene Fenster selbst nicht für seine Aufbewahrung gesorgt hat.
  • Wird nun ein Teil des überlagerten Fensters wieder freigegeben, reagiert das Betriebssystem hierauf mit einer Nachricht an die betroffene Anwendung, die die Koordinaten des betroffenen Bildschirmbereichs mit übermittelt.
  • Diese Nachricht wird dann von der Anwendung als Auftrag wahrgenommen, sich selbst zu rekonstruieren.

 

 

    
      Ziele
 
  • Realisierung wechselseitiger Assoziationen
  • Reaktion der Methode paint( ) auf das Ereignis repaint
  • Realisierung wechselseitiger von Paketen und deren Klassen
  • Die Klasse ArrayList als Verwaltungsklasse unbestimmt vieler Objekte (alternativ zum Array)
  • Die polymorphe Struktur aller wischfest in einem Zeichenfenster darstellbaren Objekte
      

 

 

Unterrichtsmaterial

 

Download:  (Java/BlueJ)  Assoziationen_BlueJ.zip

 

 

Hinweise zum Unterricht und Ausblick

 

Mit Kentnissen über das Modellieren von Klassen- und Objektbeziegungen, über Vererbung und Polymorphie, über abstrakte Klassen und Methoden steht nun auch das Rüstzeug zur Verfügung, um Anwendungen erstellen zu können, die nicht mehr über BlueJ gesteuert werden, sondern eigene graphische Benutzerschnittstellen (Fenster, Schalfläcvhen, Edit-Felder...) beinhalten.

Java stellt hierfür z. B. mit dem AWT (Abstract Windows Toolkit) Pakete mit Klassen zur Verfügung, die man sich mit diesen Kenntnissen nun erschließen kann.

 

Ende der Einführung

 

 
 
Saturday, 25. November 2017 / 04:57:33