16-Aug megacz Surface.java, Main.java: don't scar the splash screen
+16-Aug megacz AWT.java, Java12.java, Java14.java: fixed jdk1.4 bug
+ with keypresses and frameless windows.
+
// IMPORTANT: this must be called before render() to ensure
// that our peer has been created
- window.setVisible(true);
-
+ makeVisible();
}
+
+ protected void makeVisible() { window.setVisible(true); }
public void _dispose() {
window.removeMouseListener(this);
// Inner Classes //////////////////////////////////////////////////////////////////
+ private static Cursor invisibleCursor =
+ Toolkit.getDefaultToolkit().createCustomCursor(new BufferedImage(2, 2, BufferedImage.TYPE_INT_ARGB),
+ new Point(1, 1), "invisible");
+
protected static class Java12Surface extends AWTSurface {
public Java12Surface(Box root, boolean framed) { super(root, framed); }
if (b) frame.setState(java.awt.Frame.ICONIFIED);
else frame.setState(java.awt.Frame.NORMAL);
}
+
+ public void syncCursor() {
+ if (cursor.equals("invisible")) window.setCursor(invisibleCursor);
+ else super.syncCursor();
+ }
}
protected static class Java12DoubleBuffer extends AWTDoubleBuffer {
protected static class Java14Surface extends Java12Surface implements WindowStateListener {
public Java14Surface(Box root, boolean framed) {
- super(root, framed);
+ super(root, true);
+ // JDK1.4 doesn't like java.lang.Window's...
+ if (!framed) ((Frame)window).setUndecorated(true);
window.addWindowStateListener(this);
+ window.setVisible(true);
}
+
+ protected void makeVisible() { }
+
protected void _setMaximized(boolean m) {
if (frame == null) {
if (Log.on) Log.log(this, "JDK 1.4 can only maximize frames, not windows");