1 // Copyright 2002 Adam Megacz, see the COPYING file for licensing [GPL]
5 import java.awt.event.*;
6 import java.awt.image.*;
7 import java.awt.datatransfer.*;
11 import org.xwt.util.*;
14 /** Platform class for most reasonable Java1.4+ JVMs */
15 public class Java14 extends Java12 {
17 protected String getDescriptiveName() { return "Java 1.4+ JVM"; }
18 protected boolean _supressDirtyOnResize() { return false; }
21 java.awt.Toolkit.getDefaultToolkit().setDynamicLayout(true);
24 protected Surface _createSurface(final Box root, final boolean framed) {
25 return (Surface)java.security.AccessController.doPrivileged(new java.security.PrivilegedAction() {
26 public Object run() { return new Java14Surface(root, framed); }
30 protected static class Java14Surface extends Java12Surface implements WindowStateListener {
31 public Java14Surface(Box root, boolean framed) {
33 window.addWindowStateListener(this);
35 protected void _setMaximized(boolean m) {
37 if (Log.on) Log.log(this, "JDK 1.4 can only maximize frames, not windows");
40 frame.setExtendedState(m ? Frame.MAXIMIZED_BOTH : (minimized ? Frame.ICONIFIED : Frame.NORMAL));
42 protected void _setMinimized(boolean m) {
44 if (Log.on) Log.log(this, "JDK 1.4 can only minimize frames, not windows");
47 frame.setExtendedState(m ? Frame.ICONIFIED : (maximized ? Frame.MAXIMIZED_BOTH : Frame.NORMAL));
49 public void windowStateChanged(WindowEvent e) {
50 if (e.getOldState() != e.getNewState()) {
51 if ((e.getNewState() & Frame.MAXIMIZED_BOTH) != 0) Maximized(true);
52 else if (((e.getOldState() & Frame.MAXIMIZED_BOTH) != 0) && (e.getNewState() & Frame.MAXIMIZED_BOTH) == 0)