import java.awt.Canvas; //导入方法依赖的package包/类
public Java2DFrame(Spark game)
{
super(GraphicsEnvironment.getLocalGraphicsEnvironment()
.getDefaultScreenDevice().getDefaultConfiguration());
this.game = game;
ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
gd = ge.getDefaultScreenDevice();
gc = gd.getDefaultConfiguration();
setTitle("Spark");
setFocusable(false);
setBackground(Color.black);
setFocusTraversalKeysEnabled(false);
setResizable(false);
setIgnoreRepaint(true);
if (game.gameOptions.displayWindowed == false)
setUndecorated(true);
setIconImage(new ImageIcon("spark/images/imgIcon.gif").getImage());
// Invisible cursor
int[] pixels = new int[16 * 16];
Image image = Toolkit.getDefaultToolkit().createImage(
new MemoryImageSource(16, 16, pixels, 0, 16));
Cursor transparentCursor = Toolkit.getDefaultToolkit()
.createCustomCursor(image, new Point(0, 0), "invisibleCursor");
setCursor(transparentCursor);
drawCanvas = new Canvas(gc);
drawCanvas.setPreferredSize(new Dimension(game.ResolutionX,
game.ResolutionY));
drawCanvas.setBackground(Color.black);
drawCanvas.setIgnoreRepaint(true);
drawCanvas.setFocusTraversalKeysEnabled(false);
drawCanvas.addKeyListener(this);
drawCanvas.addMouseListener(this);
drawCanvas.addMouseWheelListener(this);
drawCanvas.setCursor(transparentCursor);
add(drawCanvas);
addWindowListener(this);
pack();
setLocationRelativeTo(null);
if (game.gameOptions.displayWindowed == false)
{
setFullScreen();
}
setVisible(true);
drawCanvas.requestFocus();
}