---
title: 'Durch Null-Cursor Flackern des Mauszeigers bei Animationen vermeiden'
url: 'https://tutego.de/blog/javainsel/2013/09/durch-null-cursor-flackern-des-mauszeigers-bei-animationen-vermeiden'
markdown: 'https://tutego.de/blog/javainsel/2013/09/durch-null-cursor-flackern-des-mauszeigers-bei-animationen-vermeiden.md'
date: '2013-09-22'
description: 'Einige Betriebssysteme haben bei Java-Animationen das Problem, dass der Mauszeiger unruhig flackert. Zur Lösung kann man einen Cursor ohne Pixel an die Stelle der Grafik setzen. Es ist Sache der grafischen Oberfläche, den Mauszeiger mit dem Hintergrund zu verbinden. Um ein unruhiges Bild zu vermeid…'
taxonomy:
  category:
    - Allgemein
---

# Durch Null-Cursor Flackern des Mauszeigers bei Animationen vermeiden

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Durch Null-Cursor Flackern des Mauszeigers bei Animationen vermeiden

22.09.2013 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

Einige Betriebssysteme haben bei Java-Animationen das Problem, dass der Mauszeiger unruhig flackert. Zur Lösung kann man einen Cursor ohne Pixel an die Stelle der Grafik setzen.

Es ist Sache der grafischen Oberfläche, den Mauszeiger mit dem Hintergrund zu verbinden. Um ein unruhiges Bild zu vermeiden, greifen wir zu einem Trick und schalten den Mauszeiger einfach ab. Dazu soll **`createCustomCursor()`** einen neuen Cursor mit transparentem Image-Objekt erzeugen. Da wir kein leeres transparentes GIF-Bild nutzen wollen, legen wir einfach mit der Klasse **BufferedImage** ein Bild im Speicher an. Das Argument muss dabei **TYPE\_INT\_ARGB** sein, sonst ist das Bild nicht transparent. Damit ist die Arbeit getan, der letzte Schritt besteht darin, den Cursor mit **`setCursor()`** einer Komponente zuzuweisen. Im Fall einer Animation wäre das zum Beispiel ein **JComponent**, im folgenden Beispiel wird das eine Schaltfläche sein:

```java
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;

public class NullCursor
{
 public static void main( String[] args )
 {
  JFrame f = new JFrame();
  f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

  JButton b = new JButton( "Kein Cursor" );
  f.add( b, BorderLayout.PAGE_START );

  b.setCursor( Toolkit.getDefaultToolkit().createCustomCursor(
    new BufferedImage( 16, 16, BufferedImage.TYPE_INT_ARGB ),
    new Point(0,0), "" ) );

  f.setSize( 200, 200 );
  f.setVisible( true );
 }
}
```

Kategorien: [Allgemein](https://tutego.de/blog/javainsel/category/allgemein/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [NetBeans Tools für Vaadin](https://tutego.de/blog/javainsel/2013/09/netbeans-tools-fuer-vaadin.md)
- Next: [Wie heißt die Klasse mit der Methode main()?](https://tutego.de/blog/javainsel/2013/09/wie-heit-die-klasse-mit-der-methode-main.md)
