home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.event.InputEvent;
- import java.awt.event.KeyEvent;
- import java.awt.event.WindowEvent;
- import java.awt.event.WindowListener;
- import java.awt.im.InputContext;
- import java.awt.peer.WindowPeer;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.OptionalDataException;
- import java.lang.ref.WeakReference;
- import java.lang.reflect.InvocationTargetException;
- import java.security.AccessController;
- import java.util.EventListener;
- import java.util.Locale;
- import java.util.ResourceBundle;
- import java.util.Vector;
- import javax.accessibility.Accessible;
- import javax.accessibility.AccessibleContext;
- import sun.awt.DebugHelper;
- import sun.security.action.GetPropertyAction;
-
- public class Window extends Container implements Accessible {
- String warningString;
- boolean nativeActive;
- static final int OPENED = 1;
- int state;
- transient Vector ownedWindowList;
- private transient WeakReference weakThis;
- transient WindowListener windowListener;
- private transient boolean active;
- transient InputContext inputContext;
- private transient Object inputContextLock;
- private FocusManager focusMgr;
- private static final String base = "win";
- private static int nameCounter = 0;
- private static final long serialVersionUID = 4497834738069338734L;
- private static final DebugHelper dbg;
- private int windowSerializedDataVersion;
- // $FF: synthetic field
- static Class class$java$awt$Container;
- // $FF: synthetic field
- static Class class$java$awt$event$WindowListener;
-
- private static native void initIDs();
-
- Window(GraphicsConfiguration var1) {
- this.ownedWindowList = new Vector();
- this.active = false;
- this.inputContextLock = new Object();
- this.windowSerializedDataVersion = 1;
- this.setWarningString();
- super.cursor = Cursor.getPredefinedCursor(0);
- this.focusMgr = new FocusManager(this);
- super.visible = false;
- if (var1 == null) {
- super.graphicsConfig = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
- } else {
- super.graphicsConfig = var1;
- }
-
- if (super.graphicsConfig.getDevice().getType() != 0) {
- throw new IllegalArgumentException("not a screen device");
- } else {
- ((Container)this).setLayout(new BorderLayout());
- Rectangle var2 = super.graphicsConfig.getBounds();
- int var3 = ((Component)this).getX() + var2.x;
- int var4 = ((Component)this).getY() + var2.y;
- ((Component)this).setLocation(var3, var4);
- }
- }
-
- Window() {
- this((GraphicsConfiguration)null);
- }
-
- public Window(Frame var1) {
- this(var1 == null ? (GraphicsConfiguration)null : ((Window)var1).getGraphicsConfiguration());
- this.ownedInit(var1);
- }
-
- public Window(Window var1) {
- this(var1 == null ? (GraphicsConfiguration)null : var1.getGraphicsConfiguration());
- this.ownedInit(var1);
- }
-
- public Window(Window var1, GraphicsConfiguration var2) {
- this(var2);
- this.ownedInit(var1);
- }
-
- private void ownedInit(Window var1) {
- if (var1 == null) {
- throw new IllegalArgumentException("null owner window");
- } else {
- super.parent = var1;
- this.weakThis = new WeakReference(this);
- var1.addOwnedWindow(this.weakThis);
- }
- }
-
- protected void finalize() throws Throwable {
- if (super.parent != null) {
- ((Window)super.parent).removeOwnedWindow(this.weakThis);
- }
-
- super.finalize();
- }
-
- String constructComponentName() {
- Class var1 = this.getClass();
- synchronized(var1) {
- String var2 = "win" + nameCounter++;
- return var2;
- }
- }
-
- public void addNotify() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1) {
- Container var2 = super.parent;
- if (var2 != null && ((Component)var2).getPeer() == null) {
- var2.addNotify();
- }
-
- if (super.peer == null) {
- super.peer = this.getToolkit().createWindow(this);
- }
-
- super.addNotify();
- }
- }
-
- public void pack() {
- Container var1 = super.parent;
- if (var1 != null && ((Component)var1).getPeer() == null) {
- var1.addNotify();
- }
-
- if (super.peer == null) {
- this.addNotify();
- }
-
- ((Component)this).setSize(((Container)this).getPreferredSize());
- super.isPacked = true;
- ((Container)this).validate();
- }
-
- public void show() {
- if (super.peer == null) {
- this.addNotify();
- }
-
- ((Container)this).validate();
- if (super.visible) {
- this.toFront();
- } else {
- super.show();
- }
-
- if ((this.state & 1) == 0) {
- this.postWindowEvent(200);
- this.state |= 1;
- }
-
- }
-
- synchronized void postWindowEvent(int var1) {
- WindowEvent var2 = new WindowEvent(this, var1);
- Toolkit.getEventQueue().postEvent(var2);
- }
-
- public void hide() {
- Vector var1 = this.ownedWindowList;
- synchronized(var1) {
- for(int var2 = 0; var2 < this.ownedWindowList.size(); ++var2) {
- Window var3 = (Window)((WeakReference)this.ownedWindowList.elementAt(var2)).get();
- if (var3 != null) {
- var3.hide();
- }
- }
- }
-
- super.hide();
- }
-
- public void dispose() {
- 1.DisposeAction var1 = new 1.DisposeAction(this);
- if (EventQueue.isDispatchThread()) {
- var1.run();
- } else {
- try {
- EventQueue.invokeAndWait(var1);
- } catch (InterruptedException var4) {
- System.err.println("Disposal was interrupted:");
- ((Throwable)var4).printStackTrace();
- } catch (InvocationTargetException var5) {
- System.err.println("Exception during disposal:");
- var5.printStackTrace();
- }
- }
-
- this.postWindowEvent(202);
- }
-
- void adjustListeningChildren(long var1, int var3) {
- if (var3 != 0) {
- if ((var1 & 32768L) != 0L) {
- super.listeningChildren += var3;
- }
-
- if ((var1 & 65536L) != 0L) {
- super.listeningBoundsChildren += var3;
- }
-
- }
- }
-
- public void toFront() {
- WindowPeer var1 = (WindowPeer)super.peer;
- if (var1 != null) {
- var1.toFront();
- }
-
- }
-
- public void toBack() {
- WindowPeer var1 = (WindowPeer)super.peer;
- if (var1 != null) {
- var1.toBack();
- }
-
- }
-
- public Toolkit getToolkit() {
- return Toolkit.getDefaultToolkit();
- }
-
- public final String getWarningString() {
- return this.warningString;
- }
-
- private void setWarningString() {
- this.warningString = null;
- SecurityManager var1 = System.getSecurityManager();
- if (var1 != null && !var1.checkTopLevelWindow(this)) {
- this.warningString = (String)AccessController.doPrivileged(new GetPropertyAction("awt.appletWarning", "Java Applet Window"));
- }
-
- }
-
- public Locale getLocale() {
- return super.locale == null ? Locale.getDefault() : super.locale;
- }
-
- public InputContext getInputContext() {
- if (this.inputContext == null) {
- Object var1 = this.inputContextLock;
- synchronized(var1) {
- if (this.inputContext == null) {
- this.inputContext = InputContext.getInstance();
- }
- }
- }
-
- return this.inputContext;
- }
-
- public void setCursor(Cursor var1) {
- if (var1 == null) {
- var1 = Cursor.getPredefinedCursor(0);
- }
-
- super.setCursor(var1);
- }
-
- public Window getOwner() {
- return (Window)super.parent;
- }
-
- public Window[] getOwnedWindows() {
- Vector var2 = this.ownedWindowList;
- synchronized(var2) {
- int var3 = this.ownedWindowList.size();
- int var4 = 0;
- Window[] var5 = new Window[var3];
-
- for(int var6 = 0; var6 < var3; ++var6) {
- var5[var4] = (Window)((WeakReference)this.ownedWindowList.elementAt(var6)).get();
- if (var5[var4] != null) {
- ++var4;
- }
- }
-
- Window[] var1;
- if (var3 != var4) {
- var1 = new Window[var4];
- System.arraycopy(var5, 0, var1, 0, var4);
- } else {
- var1 = var5;
- }
-
- return var1;
- }
- }
-
- public synchronized void addWindowListener(WindowListener var1) {
- if (var1 != null) {
- this.windowListener = AWTEventMulticaster.add(this.windowListener, var1);
- super.newEventsOnly = true;
- }
- }
-
- public synchronized void removeWindowListener(WindowListener var1) {
- if (var1 != null) {
- this.windowListener = AWTEventMulticaster.remove(this.windowListener, var1);
- }
- }
-
- public EventListener[] getListeners(Class var1) {
- Object var2 = null;
- if (var1 == (class$java$awt$event$WindowListener == null ? (class$java$awt$event$WindowListener = class$("java.awt.event.WindowListener")) : class$java$awt$event$WindowListener)) {
- WindowListener var3 = this.windowListener;
- return AWTEventMulticaster.getListeners(var3, var1);
- } else {
- return super.getListeners(var1);
- }
- }
-
- boolean eventEnabled(AWTEvent var1) {
- switch (var1.id) {
- case 200:
- case 201:
- case 202:
- case 203:
- case 204:
- case 205:
- case 206:
- if ((super.eventMask & 64L) == 0L && this.windowListener == null) {
- return false;
- }
-
- return true;
- default:
- return super.eventEnabled(var1);
- }
- }
-
- boolean isActive() {
- return this.active;
- }
-
- protected void processEvent(AWTEvent var1) {
- if (var1 instanceof WindowEvent) {
- this.processWindowEvent((WindowEvent)var1);
- } else {
- super.processEvent(var1);
- }
- }
-
- protected void processWindowEvent(WindowEvent var1) {
- if (this.windowListener != null) {
- switch (((AWTEvent)var1).getID()) {
- case 200:
- this.windowListener.windowOpened(var1);
- break;
- case 201:
- this.windowListener.windowClosing(var1);
- break;
- case 202:
- this.windowListener.windowClosed(var1);
- break;
- case 203:
- this.windowListener.windowIconified(var1);
- break;
- case 204:
- this.windowListener.windowDeiconified(var1);
- break;
- case 205:
- this.windowListener.windowActivated(var1);
- break;
- case 206:
- this.windowListener.windowDeactivated(var1);
- }
- }
-
- }
-
- void preProcessKeyEvent(KeyEvent var1) {
- if (var1.isActionKey() && var1.getKeyCode() == 112 && ((InputEvent)var1).isControlDown() && ((InputEvent)var1).isShiftDown() && ((AWTEvent)var1).getID() == 401) {
- ((Container)this).list(System.out, 0);
- }
-
- }
-
- void postProcessKeyEvent(KeyEvent var1) {
- WindowPeer var2 = (WindowPeer)super.peer;
- if (var2 != null) {
- switch (var2.handleFocusTraversalEvent(var1)) {
- case 0:
- default:
- break;
- case 1:
- ((InputEvent)var1).consume();
- break;
- case 2:
- if (this.focusMgr.focusNext()) {
- ((InputEvent)var1).consume();
- }
- break;
- case 3:
- if (this.focusMgr.focusPrevious()) {
- ((InputEvent)var1).consume();
- }
- }
-
- }
- }
-
- void setFocusOwner(Component var1) {
- this.focusMgr.setFocusOwner(var1);
- }
-
- void transferFocus(Component var1) {
- this.nextFocus(var1);
- }
-
- public Component getFocusOwner() {
- return !this.active && !this.nativeActive ? null : this.focusMgr.getFocusOwner();
- }
-
- void nextFocus(Component var1) {
- this.focusMgr.focusNext(var1);
- }
-
- void dispatchEventImpl(AWTEvent var1) {
- switch (var1.getID()) {
- case 101:
- ((Container)this).invalidate();
- ((Container)this).validate();
- ((Component)this).repaint();
- break;
- case 205:
- this.active = true;
- break;
- case 206:
- this.active = false;
- break;
- case 1004:
- this.setFocusOwner(this);
- }
-
- super.dispatchEventImpl(var1);
- }
-
- public boolean postEvent(Event var1) {
- if (((Component)this).handleEvent(var1)) {
- var1.consume();
- return true;
- } else {
- return false;
- }
- }
-
- public boolean isShowing() {
- return super.visible;
- }
-
- public void applyResourceBundle(ResourceBundle var1) {
- ((Container)this).applyOrientation(ComponentOrientation.getOrientation(var1));
- }
-
- public void applyResourceBundle(String var1) {
- this.applyResourceBundle(ResourceBundle.getBundle(var1));
- }
-
- void addOwnedWindow(WeakReference var1) {
- if (var1 != null) {
- Vector var2 = this.ownedWindowList;
- synchronized(var2) {
- if (!this.ownedWindowList.contains(var1)) {
- this.ownedWindowList.addElement(var1);
- }
- }
- }
-
- }
-
- void removeOwnedWindow(WeakReference var1) {
- if (var1 != null) {
- this.ownedWindowList.removeElement(var1);
- }
-
- }
-
- void connectOwnedWindow(Window var1) {
- WeakReference var2 = new WeakReference(var1);
- var1.weakThis = var2;
- var1.parent = this;
- this.addOwnedWindow(var2);
- }
-
- private void writeObject(ObjectOutputStream var1) throws IOException {
- var1.defaultWriteObject();
- AWTEventMulticaster.save(var1, "windowL", this.windowListener);
- var1.writeObject((Object)null);
- Vector var2 = this.ownedWindowList;
- synchronized(var2) {
- for(int var3 = 0; var3 < this.ownedWindowList.size(); ++var3) {
- Window var4 = (Window)((WeakReference)this.ownedWindowList.elementAt(var3)).get();
- if (var4 != null) {
- var1.writeObject("ownedL");
- var1.writeObject(var4);
- }
- }
- }
-
- var1.writeObject((Object)null);
- }
-
- private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
- var1.defaultReadObject();
- this.ownedWindowList = new Vector();
-
- Object var2;
- while(null != (var2 = var1.readObject())) {
- String var3 = ((String)var2).intern();
- if ("windowL" == var3) {
- this.addWindowListener((WindowListener)var1.readObject());
- } else {
- var1.readObject();
- }
- }
-
- try {
- while(null != (var2 = var1.readObject())) {
- String var6 = ((String)var2).intern();
- if ("ownedL" == var6) {
- this.connectOwnedWindow((Window)var1.readObject());
- } else {
- var1.readObject();
- }
- }
- } catch (OptionalDataException var4) {
- }
-
- this.setWarningString();
- this.inputContextLock = new Object();
- }
-
- public AccessibleContext getAccessibleContext() {
- if (super.accessibleContext == null) {
- super.accessibleContext = new AccessibleAWTWindow(this);
- }
-
- return super.accessibleContext;
- }
-
- public GraphicsConfiguration getGraphicsConfiguration() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1) {
- if (super.graphicsConfig == null) {
- super.graphicsConfig = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
- }
-
- GraphicsConfiguration var2 = super.graphicsConfig;
- return var2;
- }
- }
-
- void resetGC() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1) {
- super.graphicsConfig = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
- }
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- // $FF: synthetic method
- static Object access$000(Window var0) {
- return var0.inputContextLock;
- }
-
- static {
- dbg = DebugHelper.create(class$java$awt$Container == null ? (class$java$awt$Container = class$("java.awt.Container")) : class$java$awt$Container);
- Toolkit.loadLibraries();
- initIDs();
- }
- }
-