home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.event.ContainerEvent;
- import java.awt.event.ContainerListener;
- import java.awt.event.KeyEvent;
- import java.awt.peer.ContainerPeer;
- import java.awt.peer.LightweightPeer;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.PrintStream;
- import java.io.PrintWriter;
-
- public abstract class Container extends Component {
- int ncomponents;
- Component[] component = new Component[4];
- LayoutManager layoutMgr;
- private LightweightDispatcher dispatcher;
- private Dimension maxSize;
- transient ContainerListener containerListener;
- private static final long serialVersionUID = 4613797578919906343L;
- private int containerSerializedDataVersion = 1;
-
- protected Container() {
- }
-
- public int getComponentCount() {
- return this.countComponents();
- }
-
- /** @deprecated */
- public int countComponents() {
- return this.ncomponents;
- }
-
- public Component getComponent(int var1) {
- Object var3 = ((Component)this).getTreeLock();
- synchronized(var3){}
-
- Component var2;
- try {
- if (var1 < 0 || var1 >= this.ncomponents) {
- throw new ArrayIndexOutOfBoundsException("No such child: " + var1);
- }
-
- var2 = this.component[var1];
- } catch (Throwable var6) {
- throw var6;
- }
-
- return var2;
- }
-
- public Component[] getComponents() {
- Object var2 = ((Component)this).getTreeLock();
- synchronized(var2){}
-
- Component[] var1;
- try {
- Component[] var4 = new Component[this.ncomponents];
- System.arraycopy(this.component, 0, var4, 0, this.ncomponents);
- var1 = var4;
- } catch (Throwable var6) {
- throw var6;
- }
-
- return var1;
- }
-
- public Insets getInsets() {
- return this.insets();
- }
-
- /** @deprecated */
- public Insets insets() {
- if (super.peer != null && super.peer instanceof ContainerPeer) {
- ContainerPeer var1 = (ContainerPeer)super.peer;
- return var1.insets();
- } else {
- return new Insets(0, 0, 0, 0);
- }
- }
-
- public Component add(Component var1) {
- this.addImpl(var1, (Object)null, -1);
- return var1;
- }
-
- public Component add(String var1, Component var2) {
- this.addImpl(var2, var1, -1);
- return var2;
- }
-
- public Component add(Component var1, int var2) {
- this.addImpl(var1, (Object)null, var2);
- return var1;
- }
-
- public void add(Component var1, Object var2) {
- this.addImpl(var1, var2, -1);
- }
-
- public void add(Component var1, Object var2, int var3) {
- this.addImpl(var1, var2, var3);
- }
-
- protected void addImpl(Component var1, Object var2, int var3) {
- Object var4 = ((Component)this).getTreeLock();
- synchronized(var4){}
-
- try {
- if (var3 > this.ncomponents || var3 < 0 && var3 != -1) {
- throw new IllegalArgumentException("illegal component position");
- }
-
- if (var1 instanceof Container) {
- for(Container var6 = this; var6 != null; var6 = var6.parent) {
- if (var6 == var1) {
- throw new IllegalArgumentException("adding container's parent to itself");
- }
- }
- }
-
- if (var1 instanceof Window) {
- throw new IllegalArgumentException("adding a window to a container");
- }
-
- if (var1.parent != null) {
- var1.parent.remove(var1);
- }
-
- if (this.ncomponents == this.component.length) {
- Component[] var9 = new Component[this.ncomponents * 2];
- System.arraycopy(this.component, 0, var9, 0, this.ncomponents);
- this.component = var9;
- }
-
- if (var3 != -1 && var3 != this.ncomponents) {
- System.arraycopy(this.component, var3, this.component, var3 + 1, this.ncomponents - var3);
- this.component[var3] = var1;
- ++this.ncomponents;
- } else {
- this.component[this.ncomponents++] = var1;
- }
-
- var1.parent = this;
- if (super.valid) {
- this.invalidate();
- }
-
- if (super.peer != null) {
- var1.addNotify();
- }
-
- if (this.layoutMgr != null) {
- if (this.layoutMgr instanceof LayoutManager2) {
- ((LayoutManager2)this.layoutMgr).addLayoutComponent(var1, var2);
- } else if (var2 instanceof String) {
- this.layoutMgr.addLayoutComponent((String)var2, var1);
- }
- }
-
- if (this.containerListener != null || (super.eventMask & 2L) != 0L) {
- ContainerEvent var10 = new ContainerEvent(this, 300, var1);
- this.processEvent(var10);
- }
- } catch (Throwable var8) {
- throw var8;
- }
-
- }
-
- public void remove(int var1) {
- Object var2 = ((Component)this).getTreeLock();
- synchronized(var2){}
-
- try {
- Component var4 = this.component[var1];
- if (super.peer != null) {
- var4.removeNotify();
- }
-
- if (this.layoutMgr != null) {
- this.layoutMgr.removeLayoutComponent(var4);
- }
-
- var4.parent = null;
- System.arraycopy(this.component, var1 + 1, this.component, var1, this.ncomponents - var1 - 1);
- this.component[--this.ncomponents] = null;
- if (super.valid) {
- this.invalidate();
- }
-
- if (this.containerListener != null || (super.eventMask & 2L) != 0L) {
- ContainerEvent var5 = new ContainerEvent(this, 301, var4);
- this.processEvent(var5);
- }
- } catch (Throwable var7) {
- throw var7;
- }
-
- }
-
- public void remove(Component var1) {
- Object var2 = ((Component)this).getTreeLock();
- synchronized(var2){}
-
- try {
- if (var1.parent == this) {
- Component[] var4 = this.component;
- int var5 = this.ncomponents;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- break;
- }
-
- if (var4[var5] == var1) {
- this.remove(var5);
- }
- }
- }
- } catch (Throwable var7) {
- throw var7;
- }
-
- }
-
- public void removeAll() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1){}
-
- try {
- while(this.ncomponents > 0) {
- Component var3 = this.component[--this.ncomponents];
- this.component[this.ncomponents] = null;
- if (super.peer != null) {
- var3.removeNotify();
- }
-
- if (this.layoutMgr != null) {
- this.layoutMgr.removeLayoutComponent(var3);
- }
-
- var3.parent = null;
- if (this.containerListener != null || (super.eventMask & 2L) != 0L) {
- ContainerEvent var4 = new ContainerEvent(this, 301, var3);
- this.processEvent(var4);
- }
- }
-
- if (super.valid) {
- this.invalidate();
- }
- } catch (Throwable var6) {
- throw var6;
- }
-
- }
-
- public LayoutManager getLayout() {
- return this.layoutMgr;
- }
-
- public void setLayout(LayoutManager var1) {
- this.layoutMgr = var1;
- if (super.valid) {
- this.invalidate();
- }
-
- }
-
- public void doLayout() {
- this.layout();
- }
-
- /** @deprecated */
- public void layout() {
- LayoutManager var1 = this.layoutMgr;
- if (var1 != null) {
- var1.layoutContainer(this);
- }
-
- }
-
- public void invalidate() {
- if (this.layoutMgr instanceof LayoutManager2) {
- LayoutManager2 var1 = (LayoutManager2)this.layoutMgr;
- var1.invalidateLayout(this);
- }
-
- super.invalidate();
- }
-
- public void validate() {
- if (!super.valid) {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1){}
-
- try {
- if (!super.valid && super.peer != null) {
- ((Component)this).getCursor();
- ContainerPeer var3 = null;
- if (super.peer instanceof ContainerPeer) {
- var3 = (ContainerPeer)super.peer;
- }
-
- if (var3 != null) {
- var3.beginValidate();
- }
-
- this.validateTree();
- super.valid = true;
- if (var3 != null) {
- var3.endValidate();
- }
- }
- } catch (Throwable var5) {
- throw var5;
- }
-
- }
- }
-
- protected void validateTree() {
- if (!super.valid) {
- this.doLayout();
- Component[] var1 = this.component;
-
- for(int var2 = 0; var2 < this.ncomponents; ++var2) {
- Component var3 = var1[var2];
- if (var3 instanceof Container && !(var3 instanceof Window) && !var3.valid) {
- ((Container)var3).validateTree();
- } else {
- var3.validate();
- }
- }
- }
-
- super.valid = true;
- }
-
- public Dimension getPreferredSize() {
- return this.preferredSize();
- }
-
- /** @deprecated */
- public Dimension preferredSize() {
- Dimension var1 = super.prefSize;
- if (var1 != null && ((Component)this).isValid()) {
- return var1;
- } else {
- Object var3 = ((Component)this).getTreeLock();
- synchronized(var3){}
-
- Dimension var2;
- try {
- super.prefSize = this.layoutMgr != null ? this.layoutMgr.preferredLayoutSize(this) : super.preferredSize();
- var2 = super.prefSize;
- } catch (Throwable var6) {
- throw var6;
- }
-
- return var2;
- }
- }
-
- public Dimension getMinimumSize() {
- return this.minimumSize();
- }
-
- /** @deprecated */
- public Dimension minimumSize() {
- Dimension var1 = super.minSize;
- if (var1 != null && ((Component)this).isValid()) {
- return var1;
- } else {
- Object var3 = ((Component)this).getTreeLock();
- synchronized(var3){}
-
- Dimension var2;
- try {
- super.minSize = this.layoutMgr != null ? this.layoutMgr.minimumLayoutSize(this) : super.minimumSize();
- var2 = super.minSize;
- } catch (Throwable var6) {
- throw var6;
- }
-
- return var2;
- }
- }
-
- public Dimension getMaximumSize() {
- Dimension var1 = this.maxSize;
- if (var1 != null && ((Component)this).isValid()) {
- return var1;
- } else {
- if (this.layoutMgr instanceof LayoutManager2) {
- Object var2 = ((Component)this).getTreeLock();
- synchronized(var2){}
-
- try {
- LayoutManager2 var4 = (LayoutManager2)this.layoutMgr;
- this.maxSize = var4.maximumLayoutSize(this);
- } catch (Throwable var6) {
- throw var6;
- }
- } else {
- this.maxSize = super.getMaximumSize();
- }
-
- return this.maxSize;
- }
- }
-
- public float getAlignmentX() {
- float var1;
- if (this.layoutMgr instanceof LayoutManager2) {
- Object var2 = ((Component)this).getTreeLock();
- synchronized(var2){}
-
- try {
- LayoutManager2 var4 = (LayoutManager2)this.layoutMgr;
- var1 = var4.getLayoutAlignmentX(this);
- } catch (Throwable var6) {
- throw var6;
- }
- } else {
- var1 = super.getAlignmentX();
- }
-
- return var1;
- }
-
- public float getAlignmentY() {
- float var1;
- if (this.layoutMgr instanceof LayoutManager2) {
- Object var2 = ((Component)this).getTreeLock();
- synchronized(var2){}
-
- try {
- LayoutManager2 var4 = (LayoutManager2)this.layoutMgr;
- var1 = var4.getLayoutAlignmentY(this);
- } catch (Throwable var6) {
- throw var6;
- }
- } else {
- var1 = super.getAlignmentY();
- }
-
- return var1;
- }
-
- public void paint(Graphics var1) {
- if (((Component)this).isShowing()) {
- int var2 = this.ncomponents;
- Component[] var3 = this.component;
- Rectangle var4 = var1.getClipRect();
-
- for(int var5 = var2 - 1; var5 >= 0; --var5) {
- Component var6 = var3[var5];
- if (var6 != null && var6.peer instanceof LightweightPeer && var6.visible) {
- Rectangle var7 = var6.getBounds();
- if (var4 == null || var7.intersects(var4)) {
- Graphics var8 = var1.create(var7.x, var7.y, var7.width, var7.height);
- var8.setFont(var6.getFont());
-
- try {
- var6.paint(var8);
- } finally {
- var8.dispose();
- }
- }
- }
- }
- }
-
- }
-
- public void update(Graphics var1) {
- if (((Component)this).isShowing()) {
- if (!(super.peer instanceof LightweightPeer)) {
- var1.setColor(((Component)this).getBackground());
- var1.fillRect(0, 0, super.width, super.height);
- var1.setColor(((Component)this).getForeground());
- }
-
- super.update(var1);
- }
-
- }
-
- public void print(Graphics var1) {
- super.print(var1);
- int var2 = this.ncomponents;
- Component[] var3 = this.component;
- Rectangle var4 = var1.getClipRect();
-
- for(int var5 = var2 - 1; var5 >= 0; --var5) {
- Component var6 = var3[var5];
- if (var6 != null && var6.peer instanceof LightweightPeer) {
- Rectangle var7 = var6.getBounds();
- if (var4 == null || var7.intersects(var4)) {
- Graphics var8 = var1.create(var7.x, var7.y, var7.width, var7.height);
- var8.setFont(var6.getFont());
-
- try {
- var6.print(var8);
- } finally {
- var8.dispose();
- }
- }
- }
- }
-
- }
-
- public void paintComponents(Graphics var1) {
- int var2 = this.ncomponents;
- Component[] var3 = this.component;
-
- for(int var4 = var2 - 1; var4 >= 0; --var4) {
- Component var5 = var3[var4];
- if (var5 != null) {
- Graphics var6 = var5.getGraphics();
- Rectangle var7 = var1.getClipRect();
- if (var7 != null) {
- Rectangle var8 = var5.getBounds();
- if (!var8.intersects(var7)) {
- continue;
- }
-
- Rectangle var9 = var8.intersection(var7);
- var9.translate(-var8.x, -var8.y);
- var6.clipRect(var9.x, var9.y, var9.width, var9.height);
- }
-
- try {
- var5.paintAll(var6);
- } finally {
- var6.dispose();
- }
- }
- }
-
- }
-
- public void printComponents(Graphics var1) {
- int var2 = this.ncomponents;
- Component[] var3 = this.component;
-
- for(int var4 = 0; var4 < var2; ++var4) {
- Component var5 = var3[var4];
- if (var5 != null) {
- Graphics var6 = var1.create(var5.x, var5.y, var5.width, var5.height);
- var6.setFont(var5.getFont());
-
- try {
- var5.printAll(var6);
- } finally {
- var6.dispose();
- }
- }
- }
-
- }
-
- public synchronized void addContainerListener(ContainerListener var1) {
- this.containerListener = AWTEventMulticaster.add(this.containerListener, var1);
- super.newEventsOnly = true;
- }
-
- public void removeContainerListener(ContainerListener var1) {
- this.containerListener = AWTEventMulticaster.remove(this.containerListener, var1);
- }
-
- boolean eventEnabled(AWTEvent var1) {
- int var2 = var1.getID();
- if (var2 != 300 && var2 != 301) {
- return super.eventEnabled(var1);
- } else {
- return (super.eventMask & 2L) != 0L || this.containerListener != null;
- }
- }
-
- protected void processEvent(AWTEvent var1) {
- if (var1 instanceof ContainerEvent) {
- this.processContainerEvent((ContainerEvent)var1);
- } else {
- super.processEvent(var1);
- }
- }
-
- protected void processContainerEvent(ContainerEvent var1) {
- if (this.containerListener != null) {
- switch (((AWTEvent)var1).getID()) {
- case 300:
- this.containerListener.componentAdded(var1);
- return;
- case 301:
- this.containerListener.componentRemoved(var1);
- return;
- }
- }
-
- }
-
- void dispatchEventImpl(AWTEvent var1) {
- if (this.dispatcher != null && this.dispatcher.dispatchEvent(var1)) {
- var1.consume();
- if (super.peer != null) {
- super.peer.handleEvent(var1);
- }
-
- } else {
- super.dispatchEventImpl(var1);
- }
- }
-
- Component getMouseEventTarget(int var1, int var2) {
- int var3 = this.ncomponents;
- Component[] var4 = this.component;
-
- for(int var5 = 0; var5 < var3; ++var5) {
- Component var6 = var4[var5];
- if (var6 != null && var6.contains(var1 - var6.x, var2 - var6.y) && var6.peer instanceof LightweightPeer && var6.visible) {
- if (var6 instanceof Container) {
- Container var7 = (Container)var6;
- Component var8 = var7.getMouseEventTarget(var1 - var7.x, var2 - var7.y);
- if (var8 != null) {
- return var8;
- }
- } else if (var6.mouseListener != null || (var6.eventMask & 16L) != 0L || var6.mouseMotionListener != null || (var6.eventMask & 32L) != 0L) {
- return var6;
- }
- }
- }
-
- if ((super.mouseListener != null || (super.eventMask & 16L) != 0L || super.mouseMotionListener != null || (super.eventMask & 32L) != 0L) && super.peer instanceof LightweightPeer) {
- return this;
- } else {
- return null;
- }
- }
-
- void proxyEnableEvents(long var1) {
- if (super.peer instanceof LightweightPeer) {
- super.parent.proxyEnableEvents(var1);
- } else {
- if (this.dispatcher != null) {
- this.dispatcher.enableEvents(var1);
- }
-
- }
- }
-
- Window getWindow() {
- Container var1;
- for(var1 = this; !(var1 instanceof Window); var1 = ((Component)var1).getParent()) {
- }
-
- return (Window)var1;
- }
-
- void proxyRequestFocus(Component var1) {
- if (super.peer instanceof LightweightPeer) {
- super.parent.proxyRequestFocus(var1);
- } else {
- if (this.dispatcher.setFocusRequest(var1)) {
- Container var2;
- for(var2 = this; !(var2 instanceof Window); var2 = ((Component)var2).getParent()) {
- }
-
- if (((Window)var2).isActive()) {
- super.peer.requestFocus();
- }
-
- Toolkit.getEventQueue().changeKeyEventFocus(this);
- }
-
- }
- }
-
- /** @deprecated */
- public void deliverEvent(Event var1) {
- Component var2 = this.getComponentAt(var1.x, var1.y);
- if (var2 != null && var2 != this) {
- var1.translate(-var2.x, -var2.y);
- var2.deliverEvent(var1);
- } else {
- ((Component)this).postEvent(var1);
- }
- }
-
- public Component getComponentAt(int var1, int var2) {
- return this.locate(var1, var2);
- }
-
- /** @deprecated */
- public Component locate(int var1, int var2) {
- if (!((Component)this).contains(var1, var2)) {
- return null;
- } else {
- int var3 = this.ncomponents;
- Component[] var4 = this.component;
-
- for(int var5 = 0; var5 < var3; ++var5) {
- Component var6 = var4[var5];
- if (var6 != null && var6.contains(var1 - var6.x, var2 - var6.y)) {
- return var6;
- }
- }
-
- return this;
- }
- }
-
- public Component getComponentAt(Point var1) {
- return this.getComponentAt(var1.x, var1.y);
- }
-
- public void addNotify() {
- super.addNotify();
- if (!(super.peer instanceof LightweightPeer)) {
- this.dispatcher = new LightweightDispatcher(this);
- }
-
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1){}
-
- try {
- int var3 = this.ncomponents;
- Component[] var4 = this.component;
-
- for(int var5 = 0; var5 < var3; ++var5) {
- var4[var5].addNotify();
- }
- } catch (Throwable var7) {
- throw var7;
- }
-
- }
-
- public void removeNotify() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1){}
-
- try {
- int var3 = this.ncomponents;
- Component[] var4 = this.component;
-
- for(int var5 = 0; var5 < var3; ++var5) {
- var4[var5].removeNotify();
- }
-
- super.removeNotify();
- } catch (Throwable var7) {
- throw var7;
- }
-
- }
-
- public boolean isAncestorOf(Component var1) {
- Container var2;
- if (var1 != null && (var2 = var1.getParent()) != null) {
- while(var2 != null) {
- if (var2 == this) {
- return true;
- }
-
- var2 = ((Component)var2).getParent();
- }
-
- return false;
- } else {
- return false;
- }
- }
-
- protected String paramString() {
- String var1 = super.paramString();
- LayoutManager var2 = this.layoutMgr;
- if (var2 != null) {
- var1 = var1 + ",layout=" + var2.getClass().getName();
- }
-
- return var1;
- }
-
- public void list(PrintStream var1, int var2) {
- super.list(var1, var2);
- int var3 = this.ncomponents;
- Component[] var4 = this.component;
-
- for(int var5 = 0; var5 < var3; ++var5) {
- Component var6 = var4[var5];
- if (var6 != null) {
- var6.list(var1, var2 + 1);
- }
- }
-
- }
-
- public void list(PrintWriter var1, int var2) {
- super.list(var1, var2);
- int var3 = this.ncomponents;
- Component[] var4 = this.component;
-
- for(int var5 = 0; var5 < var3; ++var5) {
- Component var6 = var4[var5];
- if (var6 != null) {
- var6.list(var1, var2 + 1);
- }
- }
-
- }
-
- void setFocusOwner(Component var1) {
- Container var2 = super.parent;
- if (var2 != null) {
- var2.setFocusOwner(var1);
- }
-
- }
-
- void preProcessKeyEvent(KeyEvent var1) {
- Container var2 = super.parent;
- if (var2 != null) {
- var2.preProcessKeyEvent(var1);
- }
-
- }
-
- void postProcessKeyEvent(KeyEvent var1) {
- Container var2 = super.parent;
- if (var2 != null) {
- var2.postProcessKeyEvent(var1);
- }
-
- }
-
- void transferFocus(Component var1) {
- this.nextFocus(var1);
- }
-
- boolean postsOldMouseEvents() {
- return true;
- }
-
- /** @deprecated */
- void nextFocus(Component var1) {
- Container var2 = super.parent;
- if (var2 != null) {
- var2.transferFocus(var1);
- }
-
- }
-
- private void writeObject(ObjectOutputStream var1) throws IOException {
- var1.defaultWriteObject();
- AWTEventMulticaster.save(var1, "containerL", this.containerListener);
- var1.writeObject((Object)null);
- }
-
- private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
- var1.defaultReadObject();
- Component[] var2 = this.component;
-
- for(int var3 = 0; var3 < this.ncomponents; ++var3) {
- var2[var3].parent = this;
- }
-
- Object var4;
- while((var4 = var1.readObject()) != null) {
- String var5 = ((String)var4).intern();
- if (var5 == "containerL") {
- this.addContainerListener((ContainerListener)var1.readObject());
- } else {
- var1.readObject();
- }
- }
-
- }
- }
-