# Mausposition ohne Listener abfragen



## Cymatoxa (3. April 2011)

Hi,

ich bin gerade dabei, mir eine kleine 2D Engine in Java zu schreiben.
Mit dieser Funktion switche ich in den Volllbild-Modus:

```
public void setFullScreen(boolean fullScreen) {
        GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        if (fullScreen && device.isFullScreenSupported()) {
            device.setFullScreenWindow(this);
            fullscreen = true;
        } else {
            device.setFullScreenWindow(null);
            fullscreen = false;
        }
    }
```
Leider funktioniert der MouseListener im Fullscreen nur bedingt. Zum einen scheint das Programm zu glauben, dass es noch eine Menüleiste gibt (mit Minimieren- und Schließen-Button und so) und löst dort keine Events aus. Zum anderen werden auch keine Events ausgelöst, wenn die Maus an einer Position ist, die es vor dem Vollbildmodus noch nicht gab.
Konkret: Ich lass das Programm mit 800x600 laufen und wechsle zum Fullscreen.
Dann reakgiert der MouseListener nicht mehr, wenn die Maus weiter als 800px von linken Rand, bzw. 600px vom oberen Rand entfernt ist.

Hat jemand eine Lösung?

MfG, Cymatoxa


PS: Mir würde eine Funktion zur Abfrage der Mausposition reichen, einen Listener würde ich mir selber schreiben.
PPS: Das ändern der Framegröße vor dem Vollbildmodus hilft auch nicht:

```
setSize(Toolkit.getDefaultToolkit().getScreenSize());
device.setFullScreenWindow(this);
fullscreen = true;
```


----------



## miffi (4. April 2011)

Howdie.

Das erste Google-Ergebnis mit der Frage nach "Java Mouse Position" führt zu diesem Thread hier bei Tutorials.de.

Gruß
miffi


----------



## Cymatoxa (4. April 2011)

Cool, dankeschön!

Leider hab ich jetzt das Problem, dass die Mausposition korrekt übergeben wird, aber auch om Vollbild nur auf einer Fläche von 800x600 gezeichnet wird. Wenn ich zum Fenstermodus und zurück zum Vollbildmodus wechsel, wird aber alles gezeichnet, was eigendlich schon hätte vorher gezeichnet werden müssen. Ein validate() hilft da auch nicht. Hat jemand eine Idee?

Grüße, Cymatoxa


----------

