Java-Umblättern wird unter Mac OS nicht unterstützt?

Ich hoffe, jemand ist schon einmal auf folgendes Problem gestoßen.

Meine Java-Anwendung hat Grafikleistungsprobleme auf dem Mac, daher habe ich eine einfache Testanwendung erstellt (Code unten). Wenn ich dies unter Windows ausführe, sagt mir die Konsole:

GraphicsConfiguration spiegeln? wah
BufferStrategy spiegeln? wah

Wenn ich unter Mac OS genau denselben Code ausführe, erhalte ich:

GraphicsConfiguration spiegeln? wah
BufferStrategy spiegeln? falsc

Bedeutet dies, dass unter Mac OS das Umblättern von Seiten in einer Windows-Anwendung einfach nicht unterstützt wird? Gibt es irgendwelche Tricks, mit denen das Umblättern von Seiten unter Mac OS funktioniert, ohne dass der Vollbildmodus aktiviert wird?

Alle Hinweise sind sehr willkommen,
Mattijs

Verwenden von JDK 1.6 unter Windows XP und Mac OS 10.5.

Der Code

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

public class Test {
 int width = 640;
 int height = 480;

 GraphicsEnvironment graphEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();
 GraphicsDevice graphDevice = graphEnv.getDefaultScreenDevice();
 GraphicsConfiguration graphicConf = graphDevice.getDefaultConfiguration();

 public Test() {
  JFrame jFrame = new JFrame(graphicConf);
  jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jFrame.setTitle("double buffer test");
  jFrame.setResizable(false);
  jFrame.setFocusTraversalKeysEnabled(false);

  Canvas canvas = new Canvas();
  canvas.setSize(width, height);
  canvas.setIgnoreRepaint(true);

  jFrame.getContentPane().add(canvas);
  jFrame.pack();
  jFrame.setVisible(true);

  System.out.println("GraphicsConfiguration flipping? " + graphicConf.getBufferCapabilities().isPageFlipping());
  canvas.createBufferStrategy(2);
  BufferStrategy bufferStrategy = canvas.getBufferStrategy();
  System.out.println("BufferStrategy flipping? " + bufferStrategy.getCapabilities().isPageFlipping());

  while(true) {
    Graphics g = bufferStrategy.getDrawGraphics();
    g.setColor(Color.BLACK);
    g.fillRect(0,0,width,height);
    g.setColor(Color.RED);
    g.drawLine((int)(Math.random()*width),(int)(Math.random()*height),
               (int)(Math.random()*width),(int)(Math.random()*height));
    bufferStrategy.show();
    g.dispose();
  }
 }

 public static void main(String[] args) {
  new Test();
 }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage