Malen mit dem Java Mousemotionlistener

Eine grafische Programmierung der Oberflächen (GUI) kann man sehr einfach mit der Programmiersprache Java realisieren. Man sollte jedoch wissen, wie man optimal starten kann. Mit dem Java Mousemotionlistener kann man genau im Programm sehen, wo sich der Mauszeiger befindet.

Die Aufbereitung der Grafik wird in Java durch die JRE (Java Runtime Enviroment) übernommen. Die Programmierer der JRE haben hierzu Schnittstellen und Bibliotheken wie AWT (alt / nicht mehr unterstützt), Swing (neuer / bald nicht mehr unterstützt) und JavaFX (Favorit aktuell) implementiert. Beim Malen / Zeichnen mit Java greifen wir auf Swing und AWT zurück. Das Package Swing greift hierbei teilweise auf AWT zurück, sodass beide Packages benutzt werden können, sofern dies unterstützt wird.

Im Code-Beispiel sind zwei Klassen zu finden, beide erben von Swing-Klassen. Die Klasse PaintWindow (erbt von JFrame) zeichnet das Fenster und initialisiert die Klasse DrawPanel. Zum DrawPanel (erbt von JPanel) wird das Interface MouseMotionListener, mit der Methode addMouseMotionListener(), hinzugefügt. Sobald man die Maus gedrückt hält, kann man auf dem Fenster Punkte zeichnen. Wird das Fenster verändert oder man ändert die Größe etc. verschwindet alles, weil sich das JPanel neu zeichnet und wir die paintComponent-Methode nicht überschrieben haben.

Damit sich das Gezeichnete beim Verändern nicht verzieht, muss man die paintComponent-Methode vom JPanel überschreiben.