Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / javax / swing / JComponent.js
index 7960c51..5159933 100644 (file)
-Clazz.declarePackage ("javax.swing");\r
-Clazz.load (["java.awt.Container", "javax.swing.Action", "java.util.ArrayList", "javax.swing.SwingUtilities", "javax.swing.event.EventListenerList", "jssun.awt.RequestFocusController"], "javax.swing.JComponent", ["java.lang.IllegalArgumentException", "java.util.HashSet", "$.Hashtable", "java.applet.Applet", "java.awt.Component", "$.Insets", "$.Rectangle", "$.Window", "java.beans.PropertyChangeListener", "java.util.Locale", "javax.swing.ActionMap", "$.AncestorNotifier", "$.ArrayTable", "$.CellRendererPane", "$.ClientPropertyKey", "$.ComponentInputMap", "$.InputMap", "$.JApplet", "$.JDialog", "$.JFrame", "$.JWindow", "$.KeyStroke", "$.KeyboardManager", "javax.swing.Popup.HeavyWeightWindow", "javax.swing.RepaintManager", "javax.swing.border.AbstractBorder", "javax.swing.event.AncestorListener", "jssun.font.FontDesignMetrics", "swingjs.JSToolkit"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.isAlignmentXSet = false;\r
-this.alignmentX = 0;\r
-this.isAlignmentYSet = false;\r
-this.alignmentY = 0;\r
-this.ui = null;\r
-this.listenerList = null;\r
-this.clientProperties = null;\r
-this.autoscrolls = false;\r
-this.border = null;\r
-this.flags = 0;\r
-this.verifyInputWhenFocusTarget = true;\r
-this.paintingChild = null;\r
-this.popupMenu = null;\r
-this.focusInputMap = null;\r
-this.ancestorInputMap = null;\r
-this.windowInputMap = null;\r
-this.actionMap = null;\r
-if (!Clazz.isClassDefined ("javax.swing.JComponent.ActionStandin")) {\r
-javax.swing.JComponent.$JComponent$ActionStandin$ ();\r
-}\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing, "JComponent", java.awt.Container);\r
-Clazz.prepareFields (c$, function () {\r
-this.listenerList =  new javax.swing.event.EventListenerList ();\r
-});\r
-c$.safelyGetGraphics = Clazz.defineMethod (c$, "safelyGetGraphics", \r
-function (c, root) {\r
-{\r
-javax.swing.JComponent.componentObtainingGraphicsFrom = root;\r
-var g = c.getGraphics ();\r
-javax.swing.JComponent.componentObtainingGraphicsFrom = null;\r
-return g;\r
-}}, "java.awt.Component,java.awt.Component");\r
-c$.getGraphicsInvoked = Clazz.defineMethod (c$, "getGraphicsInvoked", \r
-function (root) {\r
-if (!javax.swing.JComponent.isComponentObtainingGraphicsFrom (root)) {\r
-var rootPane = (root).getRootPane ();\r
-if (rootPane != null) {\r
-rootPane.disableTrueDoubleBuffering ();\r
-}}}, "java.awt.Component");\r
-c$.isComponentObtainingGraphicsFrom = Clazz.defineMethod (c$, "isComponentObtainingGraphicsFrom", \r
- function (c) {\r
-{\r
-return (javax.swing.JComponent.componentObtainingGraphicsFrom === c);\r
-}}, "java.awt.Component");\r
-c$.getManagingFocusForwardTraversalKeys = Clazz.defineMethod (c$, "getManagingFocusForwardTraversalKeys", \r
-function () {\r
-{\r
-if (javax.swing.JComponent.managingFocusForwardTraversalKeys == null) {\r
-javax.swing.JComponent.managingFocusForwardTraversalKeys =  new java.util.HashSet (1);\r
-javax.swing.JComponent.managingFocusForwardTraversalKeys.add (javax.swing.KeyStroke.getKeyStroke (9, 2));\r
-}}return javax.swing.JComponent.managingFocusForwardTraversalKeys;\r
-});\r
-c$.getManagingFocusBackwardTraversalKeys = Clazz.defineMethod (c$, "getManagingFocusBackwardTraversalKeys", \r
-function () {\r
-{\r
-if (javax.swing.JComponent.managingFocusBackwardTraversalKeys == null) {\r
-javax.swing.JComponent.managingFocusBackwardTraversalKeys =  new java.util.HashSet (1);\r
-javax.swing.JComponent.managingFocusBackwardTraversalKeys.add (javax.swing.KeyStroke.getKeyStroke (9, 3));\r
-}}return javax.swing.JComponent.managingFocusBackwardTraversalKeys;\r
-});\r
-c$.fetchRectangle = Clazz.defineMethod (c$, "fetchRectangle", \r
- function () {\r
-{\r
-var rect;\r
-var size = javax.swing.JComponent.tempRectangles.size ();\r
-if (size > 0) {\r
-rect = javax.swing.JComponent.tempRectangles.remove (size - 1);\r
-} else {\r
-rect =  new java.awt.Rectangle (0, 0, 0, 0);\r
-}return rect;\r
-}});\r
-c$.recycleRectangle = Clazz.defineMethod (c$, "recycleRectangle", \r
- function (rect) {\r
-{\r
-javax.swing.JComponent.tempRectangles.add (rect);\r
-}}, "java.awt.Rectangle");\r
-Clazz.defineMethod (c$, "setInheritsPopupMenu", \r
-function (value) {\r
-var oldValue = this.getFlag (23);\r
-this.setFlag (23, value);\r
-this.firePropertyChangeBool ("inheritsPopupMenu", oldValue, value);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getInheritsPopupMenu", \r
-function () {\r
-return this.getFlag (23);\r
-});\r
-Clazz.defineMethod (c$, "setComponentPopupMenu", \r
-function (popup) {\r
-if (popup != null) {\r
-this.enableEvents (16);\r
-}var oldPopup = this.popupMenu;\r
-this.popupMenu = popup;\r
-this.firePropertyChangeObject ("componentPopupMenu", oldPopup, popup);\r
-}, "javax.swing.JPopupMenu");\r
-Clazz.defineMethod (c$, "getComponentPopupMenu", \r
-function () {\r
-if (!this.getInheritsPopupMenu ()) {\r
-return this.popupMenu;\r
-}if (this.popupMenu == null) {\r
-var parent = this.getParent ();\r
-while (parent != null) {\r
-if (Clazz.instanceOf (parent, javax.swing.JComponent)) {\r
-return (parent).getComponentPopupMenu ();\r
-}if (Clazz.instanceOf (parent, java.awt.Window) || Clazz.instanceOf (parent, java.applet.Applet)) {\r
-break;\r
-}parent = parent.getParent ();\r
-}\r
-return null;\r
-}return this.popupMenu;\r
-});\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-Clazz.superConstructor (this, javax.swing.JComponent);\r
-this.enableEvents (8);\r
-Clazz.superCall (this, javax.swing.JComponent, "setLocale", [javax.swing.JComponent.getDefaultLocale ()]);\r
-});\r
-Clazz.defineMethod (c$, "updateUI", \r
-function () {\r
-});\r
-Clazz.defineMethod (c$, "setUI", \r
-function (newUI) {\r
-this.uninstallUIAndProperties ();\r
-this.ui = newUI;\r
-if (this.ui != null) {\r
-this.ui.installUI (this);\r
-}this.revalidate ();\r
-this.repaint ();\r
-}, "javax.swing.plaf.ComponentUI");\r
-Clazz.defineMethod (c$, "getUI", \r
-function () {\r
-return this.ui;\r
-});\r
-Clazz.defineMethod (c$, "uninstallUIAndProperties", \r
- function () {\r
-if (this.ui != null) {\r
-this.ui.uninstallUI (this);\r
-}});\r
-Clazz.defineMethod (c$, "getUIClassID", \r
-function () {\r
-return "ComponentUI";\r
-});\r
-Clazz.defineMethod (c$, "getComponentGraphics", \r
-function (g) {\r
-var componentGraphics = g;\r
-componentGraphics.setColor (this.getForeground ());\r
-componentGraphics.setFont (this.getFont ());\r
-return componentGraphics;\r
-}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "paintComponent", \r
-function (g) {\r
-if (this.ui != null) {\r
-var scratchGraphics = (g == null) ? null : g.createSwingJS ();\r
-try {\r
-this.ui.update (scratchGraphics, this);\r
-} finally {\r
-scratchGraphics.dispose ();\r
-}\r
-}}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "paintChildren", \r
-function (g) {\r
-var isJComponent;\r
-var sg = g;\r
-{\r
-\r
-var i = this.getComponentCount () - 1;\r
-if (i < 0) {\r
-return;\r
-}if (this.paintingChild != null && (Clazz.instanceOf (this.paintingChild, javax.swing.JComponent))) {\r
-for (; i >= 0; i--) {\r
-if (this.getComponent (i) === this.paintingChild) {\r
-break;\r
-}}\r
-}var tmpRect = javax.swing.JComponent.fetchRectangle ();\r
-for (; i >= 0; i--) {\r
-var comp = this.getComponent (i);\r
-isJComponent = (Clazz.instanceOf (comp, javax.swing.JComponent));\r
-if (comp != null && (isJComponent || javax.swing.JComponent.isLightweightComponent (comp)) && (comp.isVisible () == true)) {\r
-var cr = comp.getBounds (tmpRect);\r
-var cg = sg.create4 (cr.x, cr.y, cr.width, cr.height);\r
-cg.setColor (comp.getForeground ());\r
-cg.setFont (comp.getFont ());\r
-var shouldSetFlagBack = false;\r
-try {\r
-if (isJComponent) {\r
-(comp).paint (cg);\r
-} else {\r
-comp.paint (cg);\r
-}} finally {\r
-cg.dispose ();\r
-if (shouldSetFlagBack) {\r
-(comp).setFlag (1, false);\r
-(comp).setFlag (2, false);\r
-}}\r
-}}\r
-javax.swing.JComponent.recycleRectangle (tmpRect);\r
-}}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "paintBorder", \r
-function (g) {\r
-var border = this.getBorder ();\r
-if (border != null) {\r
-border.paintBorder (this, g, 0, 0, this.getWidth (), this.getHeight ());\r
-}}, "java.awt.Graphics");\r
-Clazz.overrideMethod (c$, "update", \r
-function (g) {\r
-this.paint (g);\r
-}, "java.awt.Graphics");\r
-Clazz.overrideMethod (c$, "paint", \r
-function (g) {\r
-var shouldClearPaintFlags = false;\r
-if ((this.getWidth () <= 0) || (this.getHeight () <= 0)) {\r
-return;\r
-}var componentGraphics = this.getComponentGraphics (g);\r
-var co = componentGraphics.createSwingJS ();\r
-try {\r
-if (this.getParent () != null && !(Clazz.instanceOf (this.getParent (), javax.swing.JComponent))) {\r
-this.adjustPaintFlags ();\r
-shouldClearPaintFlags = true;\r
-}this.paintComponent (co);\r
-this.paintBorder (co);\r
-this.paintChildren (co);\r
-} finally {\r
-co.dispose ();\r
-if (shouldClearPaintFlags) {\r
-this.setFlag (1, false);\r
-this.setFlag (2, false);\r
-this.setFlag (11, false);\r
-this.setFlag (12, false);\r
-}}\r
-}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "paintForceDoubleBuffered", \r
-function (g) {\r
-var rm = javax.swing.RepaintManager.currentManager (this);\r
-var clip = g.getClipBounds ();\r
-rm.beginPaint ();\r
-this.setFlag (13, true);\r
-try {\r
-rm.paint (this, this, g, clip.x, clip.y, clip.width, clip.height);\r
-} finally {\r
-rm.endPaint ();\r
-this.setFlag (13, false);\r
-}\r
-}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "isPainting", \r
-function () {\r
-var component = this;\r
-while (component != null) {\r
-if (Clazz.instanceOf (component, javax.swing.JComponent) && (component).getFlag (1)) {\r
-return true;\r
-}component = component.getParent ();\r
-}\r
-return false;\r
-});\r
-Clazz.defineMethod (c$, "adjustPaintFlags", \r
- function () {\r
-var jparent = null;\r
-var parent;\r
-for (parent = this.getParent (); parent != null; parent = parent.getParent ()) {\r
-if (Clazz.instanceOf (parent, javax.swing.JComponent)) {\r
-jparent = parent;\r
-if (jparent.getFlag (1)) this.setFlag (1, true);\r
-if (jparent.getFlag (2)) this.setFlag (2, true);\r
-if (jparent.getFlag (11)) this.setFlag (11, true);\r
-if (jparent.getFlag (12)) this.setFlag (12, true);\r
-break;\r
-}}\r
-});\r
-Clazz.overrideMethod (c$, "printAll", \r
-function (g) {\r
-this.setFlag (12, true);\r
-try {\r
-this.print (g);\r
-} finally {\r
-this.setFlag (12, false);\r
-}\r
-}, "java.awt.Graphics");\r
-Clazz.overrideMethod (c$, "print", \r
-function (g) {\r
-this.setFlag (11, true);\r
-this.firePropertyChangeBool ("paintingForPrint", false, true);\r
-try {\r
-this.paint (g);\r
-} finally {\r
-this.setFlag (11, false);\r
-this.firePropertyChangeBool ("paintingForPrint", true, false);\r
-}\r
-}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "printComponent", \r
-function (g) {\r
-this.paintComponent (g);\r
-}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "printChildren", \r
-function (g) {\r
-this.paintChildren (g);\r
-}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "printBorder", \r
-function (g) {\r
-this.paintBorder (g);\r
-}, "java.awt.Graphics");\r
-Clazz.defineMethod (c$, "isPaintingTile", \r
-function () {\r
-return this.getFlag (2);\r
-});\r
-Clazz.defineMethod (c$, "isPaintingForPrint", \r
-function () {\r
-return this.getFlag (11);\r
-});\r
-Clazz.defineMethod (c$, "isManagingFocus", \r
-function () {\r
-return false;\r
-});\r
-Clazz.defineMethod (c$, "registerNextFocusableComponent", \r
- function () {\r
-this.registerNextFocusableComponent (this.getNextFocusableComponent ());\r
-});\r
-Clazz.defineMethod (c$, "registerNextFocusableComponent", \r
- function (nextFocusableComponent) {\r
-if (nextFocusableComponent == null) {\r
-return;\r
-}}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "deregisterNextFocusableComponent", \r
- function () {\r
-var nextFocusableComponent = this.getNextFocusableComponent ();\r
-if (nextFocusableComponent == null) {\r
-return;\r
-}var nearestRoot = (this.isFocusCycleRoot ()) ? this : this.getFocusCycleRootAncestor ();\r
-if (nearestRoot == null) {\r
-return;\r
-}});\r
-Clazz.defineMethod (c$, "setNextFocusableComponent", \r
-function (aComponent) {\r
-var displayable = this.isDisplayable ();\r
-if (displayable) {\r
-this.deregisterNextFocusableComponent ();\r
-}this.putClientProperty ("nextFocus", aComponent);\r
-if (displayable) {\r
-this.registerNextFocusableComponent (aComponent);\r
-}}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "getNextFocusableComponent", \r
-function () {\r
-return this.getClientProperty ("nextFocus");\r
-});\r
-Clazz.defineMethod (c$, "setRequestFocusEnabled", \r
-function (requestFocusEnabled) {\r
-this.setFlag (22, !requestFocusEnabled);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "isRequestFocusEnabled", \r
-function () {\r
-return !this.getFlag (22);\r
-});\r
-Clazz.defineMethod (c$, "requestFocus", \r
-function (temporary) {\r
-Clazz.superCall (this, javax.swing.JComponent, "requestFocus", []);\r
-return true;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "requestFocusInWindow", \r
-function (temporary) {\r
-return Clazz.superCall (this, javax.swing.JComponent, "requestFocusInWindow", []);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "grabFocus", \r
-function () {\r
-this.requestFocus ();\r
-});\r
-Clazz.defineMethod (c$, "setVerifyInputWhenFocusTarget", \r
-function (verifyInputWhenFocusTarget) {\r
-var oldVerifyInputWhenFocusTarget = this.verifyInputWhenFocusTarget;\r
-this.verifyInputWhenFocusTarget = verifyInputWhenFocusTarget;\r
-this.firePropertyChangeBool ("verifyInputWhenFocusTarget", oldVerifyInputWhenFocusTarget, verifyInputWhenFocusTarget);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getVerifyInputWhenFocusTarget", \r
-function () {\r
-return this.verifyInputWhenFocusTarget;\r
-});\r
-Clazz.overrideMethod (c$, "getFontMetrics", \r
-function (font) {\r
-return jssun.font.FontDesignMetrics.getMetrics (font);\r
-}, "java.awt.Font");\r
-Clazz.overrideMethod (c$, "getPreferredSize", \r
-function () {\r
-return this.getPrefSizeJComp ();\r
-});\r
-Clazz.defineMethod (c$, "getPrefSizeJComp", \r
-function () {\r
-var size = (this.isPreferredSizeSet () || this.ui == null ? null : this.ui.getPreferredSize (this));\r
-return (size == null ? this.preferredSize () : size);\r
-});\r
-Clazz.defineMethod (c$, "getMaximumSize", \r
-function () {\r
-if (this.isMaximumSizeSet ()) {\r
-return Clazz.superCall (this, javax.swing.JComponent, "getMaximumSize", []);\r
-}var size = null;\r
-if (this.ui != null) {\r
-size = this.ui.getMaximumSize (this);\r
-}return (size != null) ? size : Clazz.superCall (this, javax.swing.JComponent, "getMaximumSize", []);\r
-});\r
-Clazz.defineMethod (c$, "getMinimumSize", \r
-function () {\r
-if (this.isMinimumSizeSet ()) {\r
-return Clazz.superCall (this, javax.swing.JComponent, "getMinimumSize", []);\r
-}var size = null;\r
-if (this.ui != null) {\r
-size = this.ui.getMinimumSize (this);\r
-}return (size != null) ? size : Clazz.superCall (this, javax.swing.JComponent, "getMinimumSize", []);\r
-});\r
-Clazz.overrideMethod (c$, "contains", \r
-function (x, y) {\r
-return (this.ui != null) ? this.ui.contains (this, x, y) : this.inside (x, y);\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "setBorder", \r
-function (border) {\r
-var oldBorder = this.border;\r
-this.border = border;\r
-this.firePropertyChangeObject ("border", oldBorder, border);\r
-if (border !== oldBorder) {\r
-if (border == null || oldBorder == null || !(border.getBorderInsets (this).equals (oldBorder.getBorderInsets (this)))) {\r
-this.revalidate ();\r
-}this.repaint ();\r
-}}, "javax.swing.border.Border");\r
-Clazz.defineMethod (c$, "getBorder", \r
-function () {\r
-return this.border;\r
-});\r
-Clazz.defineMethod (c$, "getInsets", \r
-function () {\r
-if (this.border != null) {\r
-return this.border.getBorderInsets (this);\r
-}return Clazz.superCall (this, javax.swing.JComponent, "getInsets", []);\r
-});\r
-Clazz.defineMethod (c$, "getInsets", \r
-function (insets) {\r
-if (insets == null) {\r
-insets =  new java.awt.Insets (0, 0, 0, 0);\r
-}if (this.border != null) {\r
-if (Clazz.instanceOf (this.border, javax.swing.border.AbstractBorder)) {\r
-return (this.border).getBorderInsets (this, insets);\r
-} else {\r
-return this.border.getBorderInsets (this);\r
-}} else {\r
-insets.left = insets.top = insets.right = insets.bottom = 0;\r
-return insets;\r
-}}, "java.awt.Insets");\r
-Clazz.defineMethod (c$, "getAlignmentY", \r
-function () {\r
-if (this.isAlignmentYSet) {\r
-return this.alignmentY;\r
-}return Clazz.superCall (this, javax.swing.JComponent, "getAlignmentY", []);\r
-});\r
-Clazz.defineMethod (c$, "setAlignmentY", \r
-function (alignmentY) {\r
-this.alignmentY = alignmentY > 1.0 ? 1.0 : alignmentY < 0.0 ? 0.0 : alignmentY;\r
-this.isAlignmentYSet = true;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getAlignmentX", \r
-function () {\r
-if (this.isAlignmentXSet) {\r
-return this.alignmentX;\r
-}return Clazz.superCall (this, javax.swing.JComponent, "getAlignmentX", []);\r
-});\r
-Clazz.defineMethod (c$, "setAlignmentX", \r
-function (alignmentX) {\r
-this.alignmentX = alignmentX > 1.0 ? 1.0 : alignmentX < 0.0 ? 0.0 : alignmentX;\r
-this.isAlignmentXSet = true;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "setInputVerifier", \r
-function (inputVerifier) {\r
-var oldInputVerifier = this.getClientProperty (javax.swing.ClientPropertyKey.JComponent_INPUT_VERIFIER);\r
-this.putClientProperty (javax.swing.ClientPropertyKey.JComponent_INPUT_VERIFIER, inputVerifier);\r
-this.firePropertyChangeObject ("inputVerifier", oldInputVerifier, inputVerifier);\r
-}, "javax.swing.InputVerifier");\r
-Clazz.defineMethod (c$, "getInputVerifier", \r
-function () {\r
-return this.getClientProperty (javax.swing.ClientPropertyKey.JComponent_INPUT_VERIFIER);\r
-});\r
-Clazz.defineMethod (c$, "registerKeyboardAction", \r
-function (anAction, aCommand, aKeyStroke, aCondition) {\r
-var inputMap = this.getInputMap (aCondition, true);\r
-if (inputMap != null) {\r
-var actionMap = this.getActionMap (true);\r
-var action = Clazz.innerTypeInstance (javax.swing.JComponent.ActionStandin, this, null, anAction, aCommand);\r
-inputMap.put (aKeyStroke, action);\r
-if (actionMap != null) {\r
-actionMap.put (action, action);\r
-}}}, "java.awt.event.ActionListener,~S,javax.swing.KeyStroke,~N");\r
-Clazz.defineMethod (c$, "registerWithKeyboardManager", \r
- function (onlyIfNew) {\r
-var inputMap = this.getInputMap (2, false);\r
-var strokes;\r
-var registered = this.getClientProperty ("_WhenInFocusedWindow");\r
-if (inputMap != null) {\r
-strokes = inputMap.allKeys ();\r
-if (strokes != null) {\r
-for (var counter = strokes.length - 1; counter >= 0; counter--) {\r
-if (!onlyIfNew || registered == null || registered.get (strokes[counter]) == null) {\r
-this.registerWithKeyboardManager (strokes[counter]);\r
-}if (registered != null) {\r
-registered.remove (strokes[counter]);\r
-}}\r
-}} else {\r
-strokes = null;\r
-}if (registered != null && registered.size () > 0) {\r
-var keys = registered.keys ();\r
-while (keys.hasMoreElements ()) {\r
-var ks = keys.nextElement ();\r
-this.unregisterWithKeyboardManager (ks);\r
-}\r
-registered.clear ();\r
-}if (strokes != null && strokes.length > 0) {\r
-if (registered == null) {\r
-registered =  new java.util.Hashtable (strokes.length);\r
-this.putClientProperty ("_WhenInFocusedWindow", registered);\r
-}for (var counter = strokes.length - 1; counter >= 0; counter--) {\r
-registered.put (strokes[counter], strokes[counter]);\r
-}\r
-} else {\r
-this.putClientProperty ("_WhenInFocusedWindow", null);\r
-}}, "~B");\r
-Clazz.defineMethod (c$, "unregisterWithKeyboardManager", \r
- function () {\r
-var registered = this.getClientProperty ("_WhenInFocusedWindow");\r
-if (registered != null && registered.size () > 0) {\r
-var keys = registered.keys ();\r
-while (keys.hasMoreElements ()) {\r
-var ks = keys.nextElement ();\r
-this.unregisterWithKeyboardManager (ks);\r
-}\r
-}this.putClientProperty ("_WhenInFocusedWindow", null);\r
-});\r
-Clazz.defineMethod (c$, "componentInputMapChanged", \r
-function (inputMap) {\r
-var km = this.getInputMap (2, false);\r
-while (km !== inputMap && km != null) {\r
-km = km.getParent ();\r
-}\r
-if (km != null) {\r
-this.registerWithKeyboardManager (false);\r
-}}, "javax.swing.ComponentInputMap");\r
-Clazz.defineMethod (c$, "registerWithKeyboardManager", \r
- function (aKeyStroke) {\r
-javax.swing.KeyboardManager.getCurrentManager ().registerKeyStroke (aKeyStroke, this);\r
-}, "javax.swing.KeyStroke");\r
-Clazz.defineMethod (c$, "unregisterWithKeyboardManager", \r
- function (aKeyStroke) {\r
-javax.swing.KeyboardManager.getCurrentManager ().unregisterKeyStroke (aKeyStroke, this);\r
-}, "javax.swing.KeyStroke");\r
-Clazz.defineMethod (c$, "registerKeyboardAction", \r
-function (anAction, aKeyStroke, aCondition) {\r
-this.registerKeyboardAction (anAction, null, aKeyStroke, aCondition);\r
-}, "java.awt.event.ActionListener,javax.swing.KeyStroke,~N");\r
-Clazz.defineMethod (c$, "unregisterKeyboardAction", \r
-function (aKeyStroke) {\r
-var am = this.getActionMap (false);\r
-for (var counter = 0; counter < 3; counter++) {\r
-var km = this.getInputMap (counter, false);\r
-if (km != null) {\r
-var actionID = km.get (aKeyStroke);\r
-if (am != null && actionID != null) {\r
-am.remove (actionID);\r
-}km.remove (aKeyStroke);\r
-}}\r
-}, "javax.swing.KeyStroke");\r
-Clazz.defineMethod (c$, "getRegisteredKeyStrokes", \r
-function () {\r
-var counts =  Clazz.newIntArray (3, 0);\r
-var strokes =  new Array (3);\r
-for (var counter = 0; counter < 3; counter++) {\r
-var km = this.getInputMap (counter, false);\r
-strokes[counter] = (km != null) ? km.allKeys () : null;\r
-counts[counter] = (strokes[counter] != null) ? strokes[counter].length : 0;\r
-}\r
-var retValue =  new Array (counts[0] + counts[1] + counts[2]);\r
-for (var counter = 0, last = 0; counter < 3; counter++) {\r
-if (counts[counter] > 0) {\r
-System.arraycopy (strokes[counter], 0, retValue, last, counts[counter]);\r
-last += counts[counter];\r
-}}\r
-return retValue;\r
-});\r
-Clazz.defineMethod (c$, "getConditionForKeyStroke", \r
-function (aKeyStroke) {\r
-for (var counter = 0; counter < 3; counter++) {\r
-var inputMap = this.getInputMap (counter, false);\r
-if (inputMap != null && inputMap.get (aKeyStroke) != null) {\r
-return counter;\r
-}}\r
-return -1;\r
-}, "javax.swing.KeyStroke");\r
-Clazz.defineMethod (c$, "getActionForKeyStroke", \r
-function (aKeyStroke) {\r
-var am = this.getActionMap (false);\r
-if (am == null) {\r
-return null;\r
-}for (var counter = 0; counter < 3; counter++) {\r
-var inputMap = this.getInputMap (counter, false);\r
-if (inputMap != null) {\r
-var actionBinding = inputMap.get (aKeyStroke);\r
-if (actionBinding != null) {\r
-var action = am.get (actionBinding);\r
-if (Clazz.instanceOf (action, javax.swing.JComponent.ActionStandin)) {\r
-return (action).actionListener;\r
-}return action;\r
-}}}\r
-return null;\r
-}, "javax.swing.KeyStroke");\r
-Clazz.defineMethod (c$, "resetKeyboardActions", \r
-function () {\r
-for (var counter = 0; counter < 3; counter++) {\r
-var inputMap = this.getInputMap (counter, false);\r
-if (inputMap != null) {\r
-inputMap.clear ();\r
-}}\r
-var am = this.getActionMap (false);\r
-if (am != null) {\r
-am.clear ();\r
-}});\r
-Clazz.defineMethod (c$, "setInputMap", \r
-function (condition, map) {\r
-switch (condition) {\r
-case 2:\r
-if (map != null && !(Clazz.instanceOf (map, javax.swing.ComponentInputMap))) {\r
-throw  new IllegalArgumentException ("WHEN_IN_FOCUSED_WINDOW InputMaps must be of type ComponentInputMap");\r
-}this.windowInputMap = map;\r
-this.setFlag (7, true);\r
-this.registerWithKeyboardManager (false);\r
-break;\r
-case 1:\r
-this.ancestorInputMap = map;\r
-this.setFlag (6, true);\r
-break;\r
-case 0:\r
-this.focusInputMap = map;\r
-this.setFlag (5, true);\r
-break;\r
-default:\r
-throw  new IllegalArgumentException ("condition must be one of JComponent.WHEN_IN_FOCUSED_WINDOW, JComponent.WHEN_FOCUSED or JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT");\r
-}\r
-}, "~N,javax.swing.InputMap");\r
-Clazz.defineMethod (c$, "getInputMap", \r
-function (condition) {\r
-return this.getInputMap (condition, true);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getInputMap", \r
-function () {\r
-return this.getInputMap (0, true);\r
-});\r
-Clazz.defineMethod (c$, "setActionMap", \r
-function (am) {\r
-this.actionMap = am;\r
-this.setFlag (8, true);\r
-}, "javax.swing.ActionMap");\r
-Clazz.defineMethod (c$, "getActionMap", \r
-function () {\r
-return this.getActionMap (true);\r
-});\r
-Clazz.defineMethod (c$, "getInputMap", \r
-function (condition, create) {\r
-switch (condition) {\r
-case 0:\r
-if (this.getFlag (5)) {\r
-return this.focusInputMap;\r
-}if (create) {\r
-var km =  new javax.swing.InputMap ();\r
-this.setInputMap (condition, km);\r
-return km;\r
-}break;\r
-case 1:\r
-if (this.getFlag (6)) {\r
-return this.ancestorInputMap;\r
-}if (create) {\r
-var km =  new javax.swing.InputMap ();\r
-this.setInputMap (condition, km);\r
-return km;\r
-}break;\r
-case 2:\r
-if (this.getFlag (7)) {\r
-return this.windowInputMap;\r
-}if (create) {\r
-var km =  new javax.swing.ComponentInputMap (this);\r
-this.setInputMap (condition, km);\r
-return km;\r
-}break;\r
-default:\r
-throw  new IllegalArgumentException ("condition must be one of JComponent.WHEN_IN_FOCUSED_WINDOW, JComponent.WHEN_FOCUSED or JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT");\r
-}\r
-return null;\r
-}, "~N,~B");\r
-Clazz.defineMethod (c$, "getActionMap", \r
-function (create) {\r
-{\r
-(arguments.length == 0) && (create = true);\r
-}if (this.getFlag (8)) {\r
-return this.actionMap;\r
-}if (create) {\r
-var am =  new javax.swing.ActionMap ();\r
-this.setActionMap (am);\r
-return am;\r
-}return null;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getBaseline", \r
-function (width, height) {\r
-Clazz.superCall (this, javax.swing.JComponent, "getBaseline", [width, height]);\r
-if (this.ui != null) {\r
-return this.ui.getBaseline (this, width, height);\r
-}return -1;\r
-}, "~N,~N");\r
-Clazz.overrideMethod (c$, "getBaselineResizeBehavior", \r
-function () {\r
-if (this.ui != null) {\r
-return this.ui.getBaselineResizeBehavior (this);\r
-}return java.awt.Component.BaselineResizeBehavior.OTHER;\r
-});\r
-Clazz.defineMethod (c$, "requestDefaultFocus", \r
-function () {\r
-var nearestRoot = (this.isFocusCycleRoot ()) ? this : this.getFocusCycleRootAncestor ();\r
-if (nearestRoot == null) {\r
-return false;\r
-}return false;\r
-});\r
-Clazz.defineMethod (c$, "setVisible", \r
-function (aFlag) {\r
-if (aFlag != this.isVisible ()) {\r
-Clazz.superCall (this, javax.swing.JComponent, "setVisible", [aFlag]);\r
-var parent = this.getParent ();\r
-if (parent != null) {\r
-var r = this.getBounds ();\r
-parent.repaint (r.x, r.y, r.width, r.height);\r
-}this.revalidate ();\r
-}}, "~B");\r
-Clazz.defineMethod (c$, "setEnabled", \r
-function (enabled) {\r
-var oldEnabled = this.isEnabled ();\r
-Clazz.superCall (this, javax.swing.JComponent, "setEnabled", [enabled]);\r
-this.firePropertyChangeBool ("enabled", oldEnabled, enabled);\r
-if (enabled != oldEnabled) {\r
-this.repaint ();\r
-}}, "~B");\r
-Clazz.defineMethod (c$, "setForeground", \r
-function (fg) {\r
-var oldFg = this.getForeground ();\r
-Clazz.superCall (this, javax.swing.JComponent, "setForeground", [fg]);\r
-if ((oldFg != null) ? !oldFg.equals (fg) : ((fg != null) && !fg.equals (oldFg))) {\r
-this.repaint ();\r
-}}, "java.awt.Color");\r
-Clazz.defineMethod (c$, "setBackground", \r
-function (bg) {\r
-var oldBg = this.getBackground ();\r
-Clazz.superCall (this, javax.swing.JComponent, "setBackground", [bg]);\r
-if ((oldBg != null) ? !oldBg.equals (bg) : ((bg != null) && !bg.equals (oldBg))) {\r
-this.repaint ();\r
-}}, "java.awt.Color");\r
-Clazz.defineMethod (c$, "setFont", \r
-function (font) {\r
-var oldFont = this.getFont ();\r
-Clazz.superCall (this, javax.swing.JComponent, "setFont", [font]);\r
-if (font !== oldFont) {\r
-this.revalidate ();\r
-this.repaint ();\r
-}}, "java.awt.Font");\r
-c$.getDefaultLocale = Clazz.defineMethod (c$, "getDefaultLocale", \r
-function () {\r
-var l = javax.swing.SwingUtilities.appContextGet ("JComponent.defaultLocale");\r
-if (l == null) {\r
-l = java.util.Locale.getDefault ();\r
-javax.swing.JComponent.setDefaultLocale (l);\r
-}return l;\r
-});\r
-c$.setDefaultLocale = Clazz.defineMethod (c$, "setDefaultLocale", \r
-function (l) {\r
-javax.swing.SwingUtilities.appContextPut ("JComponent.defaultLocale", l);\r
-}, "java.util.Locale");\r
-Clazz.defineMethod (c$, "processComponentKeyEvent", \r
-function (e) {\r
-}, "java.awt.event.KeyEvent");\r
-Clazz.defineMethod (c$, "processKeyEvent", \r
-function (e) {\r
-var shouldProcessKey;\r
-Clazz.superCall (this, javax.swing.JComponent, "processKeyEvent", [e]);\r
-if (!e.isConsumed ()) {\r
-this.processComponentKeyEvent (e);\r
-}shouldProcessKey = javax.swing.JComponent.KeyboardState.shouldProcess (e);\r
-if (e.isConsumed ()) {\r
-return;\r
-}if (shouldProcessKey && this.processKeyBindings (e, e.getID () == 401)) {\r
-e.consume ();\r
-}}, "java.awt.event.KeyEvent");\r
-Clazz.defineMethod (c$, "processKeyBinding", \r
-function (ks, e, condition, pressed) {\r
-var map = this.getInputMap (condition, false);\r
-var am = this.getActionMap (false);\r
-if (map != null && am != null && this.isEnabled ()) {\r
-var binding = map.get (ks);\r
-var action = (binding == null) ? null : am.get (binding);\r
-if (action != null) {\r
-return javax.swing.SwingUtilities.notifyAction (action, ks, e, this, e.getModifiers ());\r
-}}return false;\r
-}, "javax.swing.KeyStroke,java.awt.event.KeyEvent,~N,~B");\r
-Clazz.defineMethod (c$, "processKeyBindings", \r
-function (e, pressed) {\r
-if (!javax.swing.SwingUtilities.isValidKeyEventForKeyBindings (e)) {\r
-return false;\r
-}var ks;\r
-if (e.getID () == 400) {\r
-ks = javax.swing.KeyStroke.getKeyStroke (e.getKeyChar ());\r
-} else {\r
-ks = javax.swing.KeyStroke.getKeyStroke (e.getKeyCode (), e.getModifiers (), (pressed ? false : true));\r
-}if (this.processKeyBinding (ks, e, 0, pressed)) return true;\r
-var parent = this;\r
-while (parent != null && !(Clazz.instanceOf (parent, java.awt.Window)) && !(Clazz.instanceOf (parent, java.applet.Applet))) {\r
-if (Clazz.instanceOf (parent, javax.swing.JComponent)) {\r
-if ((parent).processKeyBinding (ks, e, 1, pressed)) return true;\r
-}parent = parent.getParent ();\r
-}\r
-if (parent != null) {\r
-return javax.swing.JComponent.processKeyBindingsForAllComponents (e, parent, pressed);\r
-}return false;\r
-}, "java.awt.event.KeyEvent,~B");\r
-c$.processKeyBindingsForAllComponents = Clazz.defineMethod (c$, "processKeyBindingsForAllComponents", \r
-function (e, container, pressed) {\r
-while (true) {\r
-if (javax.swing.KeyboardManager.getCurrentManager ().fireKeyboardAction (e, pressed, container)) {\r
-return true;\r
-}if (Clazz.instanceOf (container, javax.swing.Popup.HeavyWeightWindow)) {\r
-container = (container).getOwner ();\r
-} else {\r
-return false;\r
-}}\r
-}, "java.awt.event.KeyEvent,java.awt.Container,~B");\r
-Clazz.defineMethod (c$, "setToolTipText", \r
-function (text) {\r
-this.putClientProperty ("ToolTipText", text);\r
-}, "~S");\r
-Clazz.defineMethod (c$, "getToolTipText", \r
-function () {\r
-return this.getClientProperty ("ToolTipText");\r
-});\r
-Clazz.defineMethod (c$, "getToolTipText", \r
-function (event) {\r
-return this.getToolTipText ();\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "getToolTipLocation", \r
-function (event) {\r
-return null;\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "getPopupLocation", \r
-function (event) {\r
-return null;\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "createToolTip", \r
-function () {\r
-var tip =  new javax.swing.JToolTip ();\r
-tip.setComponent (this);\r
-return tip;\r
-});\r
-Clazz.defineMethod (c$, "scrollRectToVisible", \r
-function (aRect) {\r
-var parent;\r
-var dx = this.getX ();\r
-var dy = this.getY ();\r
-for (parent = this.getParent (); !(parent == null) && !(Clazz.instanceOf (parent, javax.swing.JComponent)) && !(Clazz.instanceOf (parent, javax.swing.CellRendererPane)); parent = parent.getParent ()) {\r
-var bounds = parent.getBounds ();\r
-dx += bounds.x;\r
-dy += bounds.y;\r
-}\r
-if (!(parent == null) && !(Clazz.instanceOf (parent, javax.swing.CellRendererPane))) {\r
-aRect.x += dx;\r
-aRect.y += dy;\r
-(parent).scrollRectToVisible (aRect);\r
-aRect.x -= dx;\r
-aRect.y -= dy;\r
-}}, "java.awt.Rectangle");\r
-Clazz.defineMethod (c$, "setAutoscrolls", \r
-function (autoscrolls) {\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getAutoscrolls", \r
-function () {\r
-return this.autoscrolls;\r
-});\r
-Clazz.defineMethod (c$, "superProcessMouseMotionEvent", \r
-function (e) {\r
-Clazz.superCall (this, javax.swing.JComponent, "processMouseMotionEvent", [e]);\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "setCreatedDoubleBuffer", \r
-function (newValue) {\r
-this.setFlag (9, newValue);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getCreatedDoubleBuffer", \r
-function () {\r
-return this.getFlag (9);\r
-});\r
-Clazz.defineMethod (c$, "getClientProperties", \r
- function () {\r
-if (this.clientProperties == null) {\r
-this.clientProperties =  new javax.swing.ArrayTable ();\r
-}return this.clientProperties;\r
-});\r
-Clazz.defineMethod (c$, "getClientProperty", \r
-function (key) {\r
-if (this.clientProperties == null) {\r
-return null;\r
-} else {\r
-{\r
-return this.clientProperties.get (key);\r
-}}}, "~O");\r
-Clazz.defineMethod (c$, "putClientProperty", \r
-function (key, value) {\r
-if (value == null && this.clientProperties == null) {\r
-return;\r
-}var clientProperties = this.getClientProperties ();\r
-var oldValue;\r
-{\r
-oldValue = clientProperties.get (key);\r
-if (value != null) {\r
-clientProperties.put (key, value);\r
-} else if (oldValue != null) {\r
-clientProperties.remove (key);\r
-} else {\r
-return;\r
-}}this.clientPropertyChanged (key, oldValue, value);\r
-this.firePropertyChangeObject (key.toString (), oldValue, value);\r
-}, "~O,~O");\r
-Clazz.defineMethod (c$, "clientPropertyChanged", \r
-function (key, oldValue, newValue) {\r
-}, "~O,~O,~O");\r
-Clazz.defineMethod (c$, "setUIProperty", \r
-function (propertyName, value) {\r
-if (propertyName === "opaque") {\r
-if (!this.getFlag (24)) {\r
-this.setOpaque ((value).booleanValue ());\r
-this.setFlag (24, false);\r
-}} else if (propertyName === "autoscrolls") {\r
-if (!this.getFlag (25)) {\r
-this.setAutoscrolls ((value).booleanValue ());\r
-this.setFlag (25, false);\r
-}} else if (propertyName === "focusTraversalKeysForward") {\r
-} else if (propertyName === "focusTraversalKeysBackward") {\r
-} else {\r
-System.out.println (swingjs.JSToolkit.getClassName (this) + " property \"" + propertyName + "\" cannot be set using this method" + swingjs.JSToolkit.getStackTrace (5));\r
-}}, "~S,~O");\r
-c$.isLightweightComponent = Clazz.defineMethod (c$, "isLightweightComponent", \r
-function (c) {\r
-return !(Clazz.instanceOf (c, javax.swing.JApplet) || Clazz.instanceOf (c, javax.swing.JFrame) || Clazz.instanceOf (c, javax.swing.JWindow) || Clazz.instanceOf (c, javax.swing.JDialog));\r
-}, "java.awt.Component");\r
-Clazz.overrideMethod (c$, "isOpaque", \r
-function () {\r
-return this.getFlag (3);\r
-});\r
-Clazz.defineMethod (c$, "setOpaque", \r
-function (isOpaque) {\r
-var oldValue = this.getFlag (3);\r
-this.setFlag (3, isOpaque);\r
-this.setFlag (24, true);\r
-this.firePropertyChangeBool ("opaque", oldValue, isOpaque);\r
-}, "~B");\r
-Clazz.defineMethod (c$, "rectangleIsObscured", \r
-function (x, y, width, height) {\r
-var numChildren = this.getComponentCount ();\r
-for (var i = 0; i < numChildren; i++) {\r
-var child = this.getComponent (i);\r
-var cx;\r
-var cy;\r
-var cw;\r
-var ch;\r
-cx = child.getX ();\r
-cy = child.getY ();\r
-cw = child.getWidth ();\r
-ch = child.getHeight ();\r
-if (x >= cx && (x + width) <= (cx + cw) && y >= cy && (y + height) <= (cy + ch) && child.isVisible ()) {\r
-if (Clazz.instanceOf (child, javax.swing.JComponent)) {\r
-return (child).isOpaque ();\r
-} else {\r
-return false;\r
-}}}\r
-return false;\r
-}, "~N,~N,~N,~N");\r
-c$.computeVisibleRect = Clazz.defineMethod (c$, "computeVisibleRect", \r
-function (c, visibleRect) {\r
-var p = c.getParent ();\r
-var bounds = c.getBounds ();\r
-if (p == null || Clazz.instanceOf (p, java.awt.Window) || Clazz.instanceOf (p, java.applet.Applet)) {\r
-visibleRect.reshape (0, 0, bounds.width, bounds.height);\r
-} else {\r
-javax.swing.JComponent.computeVisibleRect (p, visibleRect);\r
-visibleRect.x -= bounds.x;\r
-visibleRect.y -= bounds.y;\r
-javax.swing.SwingUtilities.computeIntersection (0, 0, bounds.width, bounds.height, visibleRect);\r
-}}, "java.awt.Component,java.awt.Rectangle");\r
-Clazz.defineMethod (c$, "computeVisibleRect", \r
-function (visibleRect) {\r
-javax.swing.JComponent.computeVisibleRect (this, visibleRect);\r
-}, "java.awt.Rectangle");\r
-Clazz.defineMethod (c$, "getVisibleRect", \r
-function () {\r
-var visibleRect =  new java.awt.Rectangle ();\r
-this.computeVisibleRect (visibleRect);\r
-return visibleRect;\r
-});\r
-Clazz.defineMethod (c$, "getTopLevelAncestor", \r
-function () {\r
-for (var p = this; p != null; p = p.getParent ()) {\r
-if (Clazz.instanceOf (p, java.awt.Window) || Clazz.instanceOf (p, java.applet.Applet)) {\r
-return p;\r
-}}\r
-return null;\r
-});\r
-Clazz.defineMethod (c$, "getAncestorNotifier", \r
- function () {\r
-return this.getClientProperty (javax.swing.ClientPropertyKey.JComponent_ANCESTOR_NOTIFIER);\r
-});\r
-Clazz.defineMethod (c$, "addAncestorListener", \r
-function (listener) {\r
-var ancestorNotifier = this.getAncestorNotifier ();\r
-if (ancestorNotifier == null) {\r
-ancestorNotifier =  new javax.swing.AncestorNotifier (this);\r
-this.putClientProperty (javax.swing.ClientPropertyKey.JComponent_ANCESTOR_NOTIFIER, ancestorNotifier);\r
-}ancestorNotifier.addAncestorListener (listener);\r
-}, "javax.swing.event.AncestorListener");\r
-Clazz.defineMethod (c$, "removeAncestorListener", \r
-function (listener) {\r
-var ancestorNotifier = this.getAncestorNotifier ();\r
-if (ancestorNotifier == null) {\r
-return;\r
-}ancestorNotifier.removeAncestorListener (listener);\r
-if (ancestorNotifier.listenerList.getListenerList ().length == 0) {\r
-ancestorNotifier.removeAllListeners ();\r
-this.putClientProperty (javax.swing.ClientPropertyKey.JComponent_ANCESTOR_NOTIFIER, null);\r
-}}, "javax.swing.event.AncestorListener");\r
-Clazz.defineMethod (c$, "getAncestorListeners", \r
-function () {\r
-var ancestorNotifier = this.getAncestorNotifier ();\r
-if (ancestorNotifier == null) {\r
-return  new Array (0);\r
-}return ancestorNotifier.getAncestorListeners ();\r
-});\r
-Clazz.defineMethod (c$, "getListeners", \r
-function (listenerType) {\r
-var result;\r
-if (listenerType === javax.swing.event.AncestorListener) {\r
-result = this.getAncestorListeners ();\r
-} else if (listenerType === java.beans.PropertyChangeListener) {\r
-result = this.getPropertyChangeListeners ();\r
-} else {\r
-result = this.listenerList.getListeners (listenerType);\r
-}if (result.length == 0) {\r
-return Clazz.superCall (this, javax.swing.JComponent, "getListeners", [listenerType]);\r
-}return result;\r
-}, "Class");\r
-Clazz.defineMethod (c$, "addNotify", \r
-function () {\r
-Clazz.superCall (this, javax.swing.JComponent, "addNotify", []);\r
-this.firePropertyChangeObject ("ancestor", null, this.getParent ());\r
-this.registerWithKeyboardManager (false);\r
-this.registerNextFocusableComponent ();\r
-});\r
-Clazz.defineMethod (c$, "removeNotify", \r
-function () {\r
-Clazz.superCall (this, javax.swing.JComponent, "removeNotify", []);\r
-this.firePropertyChangeObject ("ancestor", this.getParent (), null);\r
-this.unregisterWithKeyboardManager ();\r
-this.deregisterNextFocusableComponent ();\r
-if (this.getCreatedDoubleBuffer ()) {\r
-javax.swing.RepaintManager.currentManager (this).resetDoubleBuffer ();\r
-this.setCreatedDoubleBuffer (false);\r
-}});\r
-Clazz.defineMethod (c$, "repaint", \r
-function (tm, x, y, width, height) {\r
-javax.swing.RepaintManager.currentManager (this).addDirtyRegion (this, x, y, width, height);\r
-}, "~N,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "repaint", \r
-function (r) {\r
-this.repaint (0, r.x, r.y, r.width, r.height);\r
-}, "java.awt.Rectangle");\r
-Clazz.defineMethod (c$, "revalidate", \r
-function () {\r
-if (this.getParent () == null) {\r
-return;\r
-}if (javax.swing.SwingUtilities.isEventDispatchThread ()) {\r
-this.invalidate ();\r
-javax.swing.RepaintManager.currentManager (this).addInvalidComponent (this);\r
-} else {\r
-{\r
-if (this.getFlag (28)) {\r
-return;\r
-}this.setFlag (28, true);\r
-}var callRevalidate = ((Clazz.isClassDefined ("javax.swing.JComponent$2") ? 0 : javax.swing.JComponent.$JComponent$2$ ()), Clazz.innerTypeInstance (javax.swing.JComponent$2, this, null));\r
-javax.swing.SwingUtilities.invokeLater (callRevalidate);\r
-}});\r
-Clazz.defineMethod (c$, "isValidateRoot", \r
-function () {\r
-return false;\r
-});\r
-Clazz.defineMethod (c$, "isOptimizedDrawingEnabled", \r
-function () {\r
-return true;\r
-});\r
-Clazz.defineMethod (c$, "isPaintingOrigin", \r
-function () {\r
-return false;\r
-});\r
-Clazz.defineMethod (c$, "paintImmediately", \r
-function (x, y, w, h) {\r
-{\r
-if (arguments.length == 1) {\r
-var r = x;\r
-x = r.x;\r
-y = r.y;\r
-w = r.width;\r
-h = r.height;\r
-}\r
-}var c = this;\r
-var parent;\r
-if (!this.isShowing ()) {\r
-return;\r
-}while (!(c).isOpaque ()) {\r
-parent = c.getParent ();\r
-if (parent != null) {\r
-x += c.getX ();\r
-y += c.getY ();\r
-c = parent;\r
-} else {\r
-break;\r
-}if (!(Clazz.instanceOf (c, javax.swing.JComponent))) {\r
-break;\r
-}}\r
-if (Clazz.instanceOf (c, javax.swing.JComponent)) {\r
-(c)._paintImmediately (x, y, w, h);\r
-} else {\r
-c.repaint (x, y, w, h);\r
-}}, "~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "paintImmediately", \r
-function (r) {\r
-this.paintImmediately (r.x, r.y, r.width, r.height);\r
-}, "java.awt.Rectangle");\r
-Clazz.defineMethod (c$, "alwaysOnTop", \r
-function () {\r
-return false;\r
-});\r
-Clazz.defineMethod (c$, "setPaintingChild", \r
-function (paintingChild) {\r
-this.paintingChild = paintingChild;\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "_paintImmediately", \r
-function (x, y, w, h) {\r
-var g;\r
-var c;\r
-var tmpX;\r
-var tmpY;\r
-var tmpWidth;\r
-var tmpHeight;\r
-var offsetX = 0;\r
-var offsetY = 0;\r
-var hasBuffer = false;\r
-var bufferedComponent = null;\r
-var paintingComponent = this;\r
-var path =  new java.util.ArrayList (7);\r
-var pIndex = -1;\r
-var pCount = 0;\r
-tmpX = tmpY = tmpWidth = tmpHeight = 0;\r
-var paintImmediatelyClip = javax.swing.JComponent.fetchRectangle ();\r
-paintImmediatelyClip.x = x;\r
-paintImmediatelyClip.y = y;\r
-paintImmediatelyClip.width = w;\r
-paintImmediatelyClip.height = h;\r
-var ontop = this.alwaysOnTop () && this.isOpaque ();\r
-if (ontop) {\r
-javax.swing.SwingUtilities.computeIntersection (0, 0, this.getWidth (), this.getHeight (), paintImmediatelyClip);\r
-if (paintImmediatelyClip.width == 0) {\r
-javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);\r
-return;\r
-}}var child;\r
-for (c = this, child = null; c != null && !(Clazz.instanceOf (c, java.awt.Window)) && !(Clazz.instanceOf (c, java.applet.Applet)); child = c, c = c.getParent ()) {\r
-var jc = (Clazz.instanceOf (c, javax.swing.JComponent)) ? c : null;\r
-path.add (c);\r
-if (!ontop && jc != null && !jc.isOptimizedDrawingEnabled ()) {\r
-var resetPC;\r
-if (c !== this) {\r
-if (jc.isPaintingOrigin ()) {\r
-resetPC = true;\r
-} else {\r
-var children = c.getComponents ();\r
-var i = 0;\r
-for (; i < children.length; i++) {\r
-if (children[i] === child) break;\r
-}\r
-switch (jc.getObscuredState (i, paintImmediatelyClip.x, paintImmediatelyClip.y, paintImmediatelyClip.width, paintImmediatelyClip.height)) {\r
-case 0:\r
-resetPC = false;\r
-break;\r
-case 2:\r
-javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);\r
-return;\r
-default:\r
-resetPC = true;\r
-break;\r
-}\r
-}} else {\r
-resetPC = false;\r
-}if (resetPC) {\r
-paintingComponent = jc;\r
-pIndex = pCount;\r
-offsetX = offsetY = 0;\r
-hasBuffer = false;\r
-}}pCount++;\r
-if (!ontop) {\r
-var bx = c.getX ();\r
-var by = c.getY ();\r
-tmpWidth = c.getWidth ();\r
-tmpHeight = c.getHeight ();\r
-javax.swing.SwingUtilities.computeIntersection (tmpX, tmpY, tmpWidth, tmpHeight, paintImmediatelyClip);\r
-paintImmediatelyClip.x += bx;\r
-paintImmediatelyClip.y += by;\r
-offsetX += bx;\r
-offsetY += by;\r
-}}\r
-if (c == null || paintImmediatelyClip.width <= 0 || paintImmediatelyClip.height <= 0) {\r
-javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);\r
-return;\r
-}paintingComponent.setFlag (13, true);\r
-paintImmediatelyClip.x -= offsetX;\r
-paintImmediatelyClip.y -= offsetY;\r
-if (paintingComponent !== this) {\r
-var comp;\r
-var i = pIndex;\r
-for (; i > 0; i--) {\r
-comp = path.get (i);\r
-if (Clazz.instanceOf (comp, javax.swing.JComponent)) {\r
-(comp).setPaintingChild (path.get (i - 1));\r
-}}\r
-}try {\r
-g = javax.swing.JComponent.safelyGetGraphics (paintingComponent, c).createSwingJS ();\r
-try {\r
-if (hasBuffer) {\r
-var rm = javax.swing.RepaintManager.currentManager (bufferedComponent);\r
-rm.beginPaint ();\r
-try {\r
-rm.paint (paintingComponent, bufferedComponent, g, paintImmediatelyClip.x, paintImmediatelyClip.y, paintImmediatelyClip.width, paintImmediatelyClip.height);\r
-} finally {\r
-rm.endPaint ();\r
-}\r
-} else {\r
-paintingComponent.paint (g);\r
-}} finally {\r
-g.dispose ();\r
-}\r
-} finally {\r
-if (paintingComponent !== this) {\r
-var comp;\r
-var i = pIndex;\r
-for (; i > 0; i--) {\r
-comp = path.get (i);\r
-if (Clazz.instanceOf (comp, javax.swing.JComponent)) {\r
-(comp).setPaintingChild (null);\r
-}}\r
-}paintingComponent.setFlag (13, false);\r
-}\r
-javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);\r
-}, "~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "paintToOffscreen", \r
-function (g, x, y, w, h, maxX, maxY) {\r
-try {\r
-this.setFlag (1, true);\r
-if ((y + h) < maxY || (x + w) < maxX) {\r
-this.setFlag (2, true);\r
-}if (this.getFlag (13)) {\r
-this.paint (g);\r
-} else {\r
-if (!this.rectangleIsObscured (x, y, w, h)) {\r
-this.paintComponent (g);\r
-this.paintBorder (g);\r
-}this.paintChildren (g);\r
-}} finally {\r
-this.setFlag (1, false);\r
-this.setFlag (2, false);\r
-}\r
-}, "java.awt.Graphics,~N,~N,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "getObscuredState", \r
- function (compIndex, x, y, width, height) {\r
-var retValue = 0;\r
-var tmpRect = javax.swing.JComponent.fetchRectangle ();\r
-for (var i = compIndex - 1; i >= 0; i--) {\r
-var sibling = this.getComponent (i);\r
-if (!sibling.isVisible ()) {\r
-continue;\r
-}var siblingRect;\r
-var opaque;\r
-if (Clazz.instanceOf (sibling, javax.swing.JComponent)) {\r
-opaque = (sibling).isOpaque ();\r
-if (!opaque) {\r
-if (retValue == 1) {\r
-continue;\r
-}}} else {\r
-opaque = true;\r
-}siblingRect = sibling.getBounds (tmpRect);\r
-if (opaque && x >= siblingRect.x && (x + width) <= (siblingRect.x + siblingRect.width) && y >= siblingRect.y && (y + height) <= (siblingRect.y + siblingRect.height)) {\r
-javax.swing.JComponent.recycleRectangle (tmpRect);\r
-return 2;\r
-} else if (retValue == 0 && !((x + width <= siblingRect.x) || (y + height <= siblingRect.y) || (x >= siblingRect.x + siblingRect.width) || (y >= siblingRect.y + siblingRect.height))) {\r
-retValue = 1;\r
-}}\r
-javax.swing.JComponent.recycleRectangle (tmpRect);\r
-return retValue;\r
-}, "~N,~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "checkIfChildObscuredBySibling", \r
-function () {\r
-return true;\r
-});\r
-Clazz.defineMethod (c$, "setFlag", \r
- function (aFlag, aValue) {\r
-if (aValue) {\r
-this.flags |= (1 << aFlag);\r
-} else {\r
-this.flags &= ~(1 << aFlag);\r
-}}, "~N,~B");\r
-Clazz.defineMethod (c$, "getFlag", \r
- function (aFlag) {\r
-var mask = (1 << aFlag);\r
-return ((this.flags & mask) == mask);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "setDoubleBuffered", \r
-function (aFlag) {\r
-}, "~B");\r
-Clazz.overrideMethod (c$, "isDoubleBuffered", \r
-function () {\r
-return this.getFlag (0);\r
-});\r
-Clazz.defineMethod (c$, "getRootPane", \r
-function () {\r
-return javax.swing.SwingUtilities.getRootPane (this);\r
-});\r
-Clazz.defineMethod (c$, "paramString", \r
-function () {\r
-var preferredSizeString = (this.isPreferredSizeSet () ? this.getPreferredSize ().toString () : "");\r
-var minimumSizeString = (this.isMinimumSizeSet () ? this.getMinimumSize ().toString () : "");\r
-var maximumSizeString = (this.isMaximumSizeSet () ? this.getMaximumSize ().toString () : "");\r
-var borderString = (this.border == null ? "" : (this.border === this ? "this" : this.border.toString ()));\r
-return Clazz.superCall (this, javax.swing.JComponent, "paramString", []) + ",alignmentX=" + this.alignmentX + ",alignmentY=" + this.alignmentY + ",border=" + borderString + ",flags=" + this.flags + ",maximumSize=" + maximumSizeString + ",minimumSize=" + minimumSizeString + ",preferredSize=" + preferredSizeString;\r
-});\r
-c$.$JComponent$ActionStandin$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.actionListener = null;\r
-this.command = null;\r
-this.action = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.JComponent, "ActionStandin", null, javax.swing.Action);\r
-Clazz.makeConstructor (c$, \r
-function (a, b) {\r
-this.actionListener = a;\r
-if (Clazz.instanceOf (a, javax.swing.Action)) {\r
-this.action = a;\r
-} else {\r
-this.action = null;\r
-}this.command = b;\r
-}, "java.awt.event.ActionListener,~S");\r
-Clazz.defineMethod (c$, "getValue", \r
-function (a) {\r
-if (a != null) {\r
-if (a.equals ("ActionCommandKey")) {\r
-return this.command;\r
-}if (this.action != null) {\r
-return this.action.getValue (a);\r
-}if (a.equals ("Name")) {\r
-return "ActionStandin";\r
-}}return null;\r
-}, "~S");\r
-Clazz.defineMethod (c$, "isEnabled", \r
-function () {\r
-if (this.actionListener == null) {\r
-return false;\r
-}if (this.action == null) {\r
-return true;\r
-}return this.action.isEnabled ();\r
-});\r
-Clazz.defineMethod (c$, "actionPerformed", \r
-function (a) {\r
-if (this.actionListener != null) {\r
-this.actionListener.actionPerformed (a);\r
-}}, "java.awt.event.ActionEvent");\r
-Clazz.overrideMethod (c$, "putValue", \r
-function (a, b) {\r
-}, "~S,~O");\r
-Clazz.overrideMethod (c$, "setEnabled", \r
-function (a) {\r
-}, "~B");\r
-Clazz.overrideMethod (c$, "addPropertyChangeListener", \r
-function (a) {\r
-}, "java.beans.PropertyChangeListener");\r
-Clazz.overrideMethod (c$, "removePropertyChangeListener", \r
-function (a) {\r
-}, "java.beans.PropertyChangeListener");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$JComponent$2$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (javax.swing, "JComponent$2", null, Runnable);\r
-Clazz.overrideMethod (c$, "run", \r
-function () {\r
-{\r
-this.b$["javax.swing.JComponent"].setFlag (28, false);\r
-}this.b$["javax.swing.JComponent"].revalidate ();\r
-});\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$JComponent$1$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (javax.swing, "JComponent$1", null, jssun.awt.RequestFocusController);\r
-Clazz.overrideMethod (c$, "acceptRequestFocus", \r
-function (from, to, temporary, focusedWindowChangeAllowed, cause) {\r
-if ((to == null) || !(Clazz.instanceOf (to, javax.swing.JComponent))) {\r
-return true;\r
-}if ((from == null) || !(Clazz.instanceOf (from, javax.swing.JComponent))) {\r
-return true;\r
-}var target = to;\r
-if (!target.getVerifyInputWhenFocusTarget ()) {\r
-return true;\r
-}var jFocusOwner = from;\r
-var iv = jFocusOwner.getInputVerifier ();\r
-if (iv == null) {\r
-return true;\r
-} else {\r
-var currentSource = javax.swing.SwingUtilities.appContextGet (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY);\r
-if (currentSource === jFocusOwner) {\r
-return true;\r
-}javax.swing.SwingUtilities.appContextPut (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY, jFocusOwner);\r
-try {\r
-return iv.shouldYieldFocus (jFocusOwner);\r
-} finally {\r
-if (currentSource != null) {\r
-javax.swing.SwingUtilities.appContextPut (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY, currentSource);\r
-} else {\r
-javax.swing.SwingUtilities.appContextRemove (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY);\r
-}}\r
-}}, "java.awt.Component,java.awt.Component,~B,~B,jssun.awt.CausedFocusEvent.Cause");\r
-c$ = Clazz.p0p ();\r
-};\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.array = null;\r
-this.count = 0;\r
-this.capacity = 0;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.JComponent, "IntVector");\r
-Clazz.defineMethod (c$, "size", \r
-function () {\r
-return this.count;\r
-});\r
-Clazz.defineMethod (c$, "elementAt", \r
-function (a) {\r
-return this.array[a];\r
-}, "~N");\r
-Clazz.defineMethod (c$, "addElement", \r
-function (a) {\r
-if (this.count == this.capacity) {\r
-this.capacity = (this.capacity + 2) * 2;\r
-var b =  Clazz.newIntArray (this.capacity, 0);\r
-if (this.count > 0) {\r
-System.arraycopy (this.array, 0, b, 0, this.count);\r
-}this.array = b;\r
-}this.array[this.count++] = a;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "setElementAt", \r
-function (a, b) {\r
-this.array[b] = a;\r
-}, "~N,~N");\r
-c$ = Clazz.p0p ();\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareType (javax.swing.JComponent, "KeyboardState");\r
-c$.getKeyCodeArray = Clazz.defineMethod (c$, "getKeyCodeArray", \r
-function () {\r
-var a = javax.swing.SwingUtilities.appContextGet (javax.swing.JComponent.KeyboardState.keyCodesKey);\r
-if (a == null) {\r
-a =  new javax.swing.JComponent.IntVector ();\r
-javax.swing.SwingUtilities.appContextPut (javax.swing.JComponent.KeyboardState.keyCodesKey, a);\r
-}return a;\r
-});\r
-c$.registerKeyPressed = Clazz.defineMethod (c$, "registerKeyPressed", \r
-function (a) {\r
-var b = javax.swing.JComponent.KeyboardState.getKeyCodeArray ();\r
-var c = b.size ();\r
-var d;\r
-for (d = 0; d < c; d++) {\r
-if (b.elementAt (d) == -1) {\r
-b.setElementAt (a, d);\r
-return;\r
-}}\r
-b.addElement (a);\r
-}, "~N");\r
-c$.registerKeyReleased = Clazz.defineMethod (c$, "registerKeyReleased", \r
-function (a) {\r
-var b = javax.swing.JComponent.KeyboardState.getKeyCodeArray ();\r
-var c = b.size ();\r
-var d;\r
-for (d = 0; d < c; d++) {\r
-if (b.elementAt (d) == a) {\r
-b.setElementAt (-1, d);\r
-return;\r
-}}\r
-}, "~N");\r
-c$.keyIsPressed = Clazz.defineMethod (c$, "keyIsPressed", \r
-function (a) {\r
-var b = javax.swing.JComponent.KeyboardState.getKeyCodeArray ();\r
-var c = b.size ();\r
-var d;\r
-for (d = 0; d < c; d++) {\r
-if (b.elementAt (d) == a) {\r
-return true;\r
-}}\r
-return false;\r
-}, "~N");\r
-c$.shouldProcess = Clazz.defineMethod (c$, "shouldProcess", \r
-function (a) {\r
-switch (a.getID ()) {\r
-case 401:\r
-if (!javax.swing.JComponent.KeyboardState.keyIsPressed (a.getKeyCode ())) {\r
-javax.swing.JComponent.KeyboardState.registerKeyPressed (a.getKeyCode ());\r
-}return true;\r
-case 402:\r
-if (javax.swing.JComponent.KeyboardState.keyIsPressed (a.getKeyCode ()) || a.getKeyCode () == 154) {\r
-javax.swing.JComponent.KeyboardState.registerKeyReleased (a.getKeyCode ());\r
-return true;\r
-}return false;\r
-case 400:\r
-return true;\r
-default:\r
-return false;\r
-}\r
-}, "java.awt.event.KeyEvent");\r
-c$.keyCodesKey = c$.prototype.keyCodesKey = javax.swing.JComponent.KeyboardState;\r
-c$ = Clazz.p0p ();\r
-Clazz.defineStatics (c$,\r
-"uiClassID", "ComponentUI",\r
-"managingFocusForwardTraversalKeys", null,\r
-"managingFocusBackwardTraversalKeys", null,\r
-"NOT_OBSCURED", 0,\r
-"PARTIALLY_OBSCURED", 1,\r
-"COMPLETELY_OBSCURED", 2,\r
-"DEBUG_GRAPHICS_LOADED", false);\r
-c$.INPUT_VERIFIER_SOURCE_KEY = c$.prototype.INPUT_VERIFIER_SOURCE_KEY =  new Clazz._O ();\r
-Clazz.defineStatics (c$,\r
-"WHEN_FOCUSED", 0,\r
-"WHEN_ANCESTOR_OF_FOCUSED_COMPONENT", 1,\r
-"WHEN_IN_FOCUSED_WINDOW", 2,\r
-"UNDEFINED_CONDITION", -1,\r
-"WHEN_IN_FOCUSED_WINDOW_BINDINGS", "_WhenInFocusedWindow",\r
-"TOOL_TIP_TEXT_KEY", "ToolTipText",\r
-"NEXT_FOCUS", "nextFocus",\r
-"IS_DOUBLE_BUFFERED", 0,\r
-"ANCESTOR_USING_BUFFER", 1,\r
-"IS_PAINTING_TILE", 2,\r
-"IS_OPAQUE", 3,\r
-"FOCUS_INPUTMAP_CREATED", 5,\r
-"ANCESTOR_INPUTMAP_CREATED", 6,\r
-"WIF_INPUTMAP_CREATED", 7,\r
-"ACTIONMAP_CREATED", 8,\r
-"CREATED_DOUBLE_BUFFER", 9,\r
-"IS_PRINTING", 11,\r
-"IS_PRINTING_ALL", 12,\r
-"IS_REPAINTING", 13,\r
-"REQUEST_FOCUS_DISABLED", 22,\r
-"INHERITS_POPUP_MENU", 23,\r
-"OPAQUE_SET", 24,\r
-"AUTOSCROLLS_SET", 25,\r
-"REVALIDATE_RUNNABLE_SCHEDULED", 28);\r
-c$.tempRectangles = c$.prototype.tempRectangles =  new java.util.ArrayList (11);\r
-Clazz.defineStatics (c$,\r
-"defaultLocale", "JComponent.defaultLocale",\r
-"componentObtainingGraphicsFrom", null);\r
-c$.componentObtainingGraphicsFromLock = c$.prototype.componentObtainingGraphicsFromLock =  new Clazz._O ();\r
-c$.focusController = c$.prototype.focusController = ((Clazz.isClassDefined ("javax.swing.JComponent$1") ? 0 : javax.swing.JComponent.$JComponent$1$ ()), Clazz.innerTypeInstance (javax.swing.JComponent$1, this, null));\r
-});\r
+Clazz.declarePackage ("javax.swing");
+Clazz.load (["java.awt.Container", "javax.swing.Action", "java.util.ArrayList", "javax.swing.SwingUtilities", "javax.swing.event.EventListenerList", "jssun.awt.RequestFocusController"], "javax.swing.JComponent", ["java.lang.IllegalArgumentException", "java.util.HashSet", "$.Hashtable", "java.applet.Applet", "java.awt.Component", "$.Insets", "$.Rectangle", "$.Window", "java.beans.PropertyChangeListener", "java.util.Locale", "javax.swing.ActionMap", "$.AncestorNotifier", "$.ArrayTable", "$.CellRendererPane", "$.ClientPropertyKey", "$.ComponentInputMap", "$.InputMap", "$.JApplet", "$.JDialog", "$.JFrame", "$.JWindow", "$.KeyStroke", "$.KeyboardManager", "javax.swing.Popup.HeavyWeightWindow", "javax.swing.RepaintManager", "javax.swing.border.AbstractBorder", "javax.swing.event.AncestorListener", "jssun.font.FontDesignMetrics", "swingjs.JSToolkit"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.isAlignmentXSet = false;
+this.alignmentX = 0;
+this.isAlignmentYSet = false;
+this.alignmentY = 0;
+this.ui = null;
+this.listenerList = null;
+this.clientProperties = null;
+this.autoscrolls = false;
+this.border = null;
+this.flags = 0;
+this.verifyInputWhenFocusTarget = true;
+this.paintingChild = null;
+this.popupMenu = null;
+this.focusInputMap = null;
+this.ancestorInputMap = null;
+this.windowInputMap = null;
+this.actionMap = null;
+if (!Clazz.isClassDefined ("javax.swing.JComponent.ActionStandin")) {
+javax.swing.JComponent.$JComponent$ActionStandin$ ();
+}
+Clazz.instantialize (this, arguments);
+}, javax.swing, "JComponent", java.awt.Container);
+Clazz.prepareFields (c$, function () {
+this.listenerList =  new javax.swing.event.EventListenerList ();
+});
+c$.safelyGetGraphics = Clazz.defineMethod (c$, "safelyGetGraphics", 
+function (c, root) {
+{
+javax.swing.JComponent.componentObtainingGraphicsFrom = root;
+var g = c.getGraphics ();
+javax.swing.JComponent.componentObtainingGraphicsFrom = null;
+return g;
+}}, "java.awt.Component,java.awt.Component");
+c$.getGraphicsInvoked = Clazz.defineMethod (c$, "getGraphicsInvoked", 
+function (root) {
+if (!javax.swing.JComponent.isComponentObtainingGraphicsFrom (root)) {
+var rootPane = (root).getRootPane ();
+if (rootPane != null) {
+rootPane.disableTrueDoubleBuffering ();
+}}}, "java.awt.Component");
+c$.isComponentObtainingGraphicsFrom = Clazz.defineMethod (c$, "isComponentObtainingGraphicsFrom", 
+ function (c) {
+{
+return (javax.swing.JComponent.componentObtainingGraphicsFrom === c);
+}}, "java.awt.Component");
+c$.getManagingFocusForwardTraversalKeys = Clazz.defineMethod (c$, "getManagingFocusForwardTraversalKeys", 
+function () {
+{
+if (javax.swing.JComponent.managingFocusForwardTraversalKeys == null) {
+javax.swing.JComponent.managingFocusForwardTraversalKeys =  new java.util.HashSet (1);
+javax.swing.JComponent.managingFocusForwardTraversalKeys.add (javax.swing.KeyStroke.getKeyStroke (9, 2));
+}}return javax.swing.JComponent.managingFocusForwardTraversalKeys;
+});
+c$.getManagingFocusBackwardTraversalKeys = Clazz.defineMethod (c$, "getManagingFocusBackwardTraversalKeys", 
+function () {
+{
+if (javax.swing.JComponent.managingFocusBackwardTraversalKeys == null) {
+javax.swing.JComponent.managingFocusBackwardTraversalKeys =  new java.util.HashSet (1);
+javax.swing.JComponent.managingFocusBackwardTraversalKeys.add (javax.swing.KeyStroke.getKeyStroke (9, 3));
+}}return javax.swing.JComponent.managingFocusBackwardTraversalKeys;
+});
+c$.fetchRectangle = Clazz.defineMethod (c$, "fetchRectangle", 
+ function () {
+{
+var rect;
+var size = javax.swing.JComponent.tempRectangles.size ();
+if (size > 0) {
+rect = javax.swing.JComponent.tempRectangles.remove (size - 1);
+} else {
+rect =  new java.awt.Rectangle (0, 0, 0, 0);
+}return rect;
+}});
+c$.recycleRectangle = Clazz.defineMethod (c$, "recycleRectangle", 
+ function (rect) {
+{
+javax.swing.JComponent.tempRectangles.add (rect);
+}}, "java.awt.Rectangle");
+Clazz.defineMethod (c$, "setInheritsPopupMenu", 
+function (value) {
+var oldValue = this.getFlag (23);
+this.setFlag (23, value);
+this.firePropertyChangeBool ("inheritsPopupMenu", oldValue, value);
+}, "~B");
+Clazz.defineMethod (c$, "getInheritsPopupMenu", 
+function () {
+return this.getFlag (23);
+});
+Clazz.defineMethod (c$, "setComponentPopupMenu", 
+function (popup) {
+if (popup != null) {
+this.enableEvents (16);
+}var oldPopup = this.popupMenu;
+this.popupMenu = popup;
+this.firePropertyChangeObject ("componentPopupMenu", oldPopup, popup);
+}, "javax.swing.JPopupMenu");
+Clazz.defineMethod (c$, "getComponentPopupMenu", 
+function () {
+if (!this.getInheritsPopupMenu ()) {
+return this.popupMenu;
+}if (this.popupMenu == null) {
+var parent = this.getParent ();
+while (parent != null) {
+if (Clazz.instanceOf (parent, javax.swing.JComponent)) {
+return (parent).getComponentPopupMenu ();
+}if (Clazz.instanceOf (parent, java.awt.Window) || Clazz.instanceOf (parent, java.applet.Applet)) {
+break;
+}parent = parent.getParent ();
+}
+return null;
+}return this.popupMenu;
+});
+Clazz.makeConstructor (c$, 
+function () {
+Clazz.superConstructor (this, javax.swing.JComponent);
+this.enableEvents (8);
+Clazz.superCall (this, javax.swing.JComponent, "setLocale", [javax.swing.JComponent.getDefaultLocale ()]);
+});
+Clazz.defineMethod (c$, "updateUI", 
+function () {
+});
+Clazz.defineMethod (c$, "setUI", 
+function (newUI) {
+this.uninstallUIAndProperties ();
+this.ui = newUI;
+if (this.ui != null) {
+this.ui.installUI (this);
+}this.revalidate ();
+this.repaint ();
+}, "javax.swing.plaf.ComponentUI");
+Clazz.defineMethod (c$, "getUI", 
+function () {
+return this.ui;
+});
+Clazz.defineMethod (c$, "uninstallUIAndProperties", 
+ function () {
+if (this.ui != null) {
+this.ui.uninstallUI (this);
+}});
+Clazz.defineMethod (c$, "getUIClassID", 
+function () {
+return "ComponentUI";
+});
+Clazz.defineMethod (c$, "getComponentGraphics", 
+function (g) {
+var componentGraphics = g;
+componentGraphics.setColor (this.getForeground ());
+componentGraphics.setFont (this.getFont ());
+return componentGraphics;
+}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "paintComponent", 
+function (g) {
+if (this.ui != null) {
+var scratchGraphics = (g == null) ? null : g.createSwingJS ();
+try {
+this.ui.update (scratchGraphics, this);
+} finally {
+scratchGraphics.dispose ();
+}
+}}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "paintChildren", 
+function (g) {
+var isJComponent;
+var sg = g;
+{
+
+var i = this.getComponentCount () - 1;
+if (i < 0) {
+return;
+}if (this.paintingChild != null && (Clazz.instanceOf (this.paintingChild, javax.swing.JComponent))) {
+for (; i >= 0; i--) {
+if (this.getComponent (i) === this.paintingChild) {
+break;
+}}
+}var tmpRect = javax.swing.JComponent.fetchRectangle ();
+for (; i >= 0; i--) {
+var comp = this.getComponent (i);
+isJComponent = (Clazz.instanceOf (comp, javax.swing.JComponent));
+if (comp != null && (isJComponent || javax.swing.JComponent.isLightweightComponent (comp)) && (comp.isVisible () == true)) {
+var cr = comp.getBounds (tmpRect);
+var cg = sg.create4 (cr.x, cr.y, cr.width, cr.height);
+cg.setColor (comp.getForeground ());
+cg.setFont (comp.getFont ());
+var shouldSetFlagBack = false;
+try {
+if (isJComponent) {
+(comp).paint (cg);
+} else {
+comp.paint (cg);
+}} finally {
+cg.dispose ();
+if (shouldSetFlagBack) {
+(comp).setFlag (1, false);
+(comp).setFlag (2, false);
+}}
+}}
+javax.swing.JComponent.recycleRectangle (tmpRect);
+}}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "paintBorder", 
+function (g) {
+var border = this.getBorder ();
+if (border != null) {
+border.paintBorder (this, g, 0, 0, this.getWidth (), this.getHeight ());
+}}, "java.awt.Graphics");
+Clazz.overrideMethod (c$, "update", 
+function (g) {
+this.paint (g);
+}, "java.awt.Graphics");
+Clazz.overrideMethod (c$, "paint", 
+function (g) {
+var shouldClearPaintFlags = false;
+if ((this.getWidth () <= 0) || (this.getHeight () <= 0)) {
+return;
+}var componentGraphics = this.getComponentGraphics (g);
+var co = componentGraphics.createSwingJS ();
+try {
+if (this.getParent () != null && !(Clazz.instanceOf (this.getParent (), javax.swing.JComponent))) {
+this.adjustPaintFlags ();
+shouldClearPaintFlags = true;
+}this.paintComponent (co);
+this.paintBorder (co);
+this.paintChildren (co);
+} finally {
+co.dispose ();
+if (shouldClearPaintFlags) {
+this.setFlag (1, false);
+this.setFlag (2, false);
+this.setFlag (11, false);
+this.setFlag (12, false);
+}}
+}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "paintForceDoubleBuffered", 
+function (g) {
+var rm = javax.swing.RepaintManager.currentManager (this);
+var clip = g.getClipBounds ();
+rm.beginPaint ();
+this.setFlag (13, true);
+try {
+rm.paint (this, this, g, clip.x, clip.y, clip.width, clip.height);
+} finally {
+rm.endPaint ();
+this.setFlag (13, false);
+}
+}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "isPainting", 
+function () {
+var component = this;
+while (component != null) {
+if (Clazz.instanceOf (component, javax.swing.JComponent) && (component).getFlag (1)) {
+return true;
+}component = component.getParent ();
+}
+return false;
+});
+Clazz.defineMethod (c$, "adjustPaintFlags", 
+ function () {
+var jparent = null;
+var parent;
+for (parent = this.getParent (); parent != null; parent = parent.getParent ()) {
+if (Clazz.instanceOf (parent, javax.swing.JComponent)) {
+jparent = parent;
+if (jparent.getFlag (1)) this.setFlag (1, true);
+if (jparent.getFlag (2)) this.setFlag (2, true);
+if (jparent.getFlag (11)) this.setFlag (11, true);
+if (jparent.getFlag (12)) this.setFlag (12, true);
+break;
+}}
+});
+Clazz.overrideMethod (c$, "printAll", 
+function (g) {
+this.setFlag (12, true);
+try {
+this.print (g);
+} finally {
+this.setFlag (12, false);
+}
+}, "java.awt.Graphics");
+Clazz.overrideMethod (c$, "print", 
+function (g) {
+this.setFlag (11, true);
+this.firePropertyChangeBool ("paintingForPrint", false, true);
+try {
+this.paint (g);
+} finally {
+this.setFlag (11, false);
+this.firePropertyChangeBool ("paintingForPrint", true, false);
+}
+}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "printComponent", 
+function (g) {
+this.paintComponent (g);
+}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "printChildren", 
+function (g) {
+this.paintChildren (g);
+}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "printBorder", 
+function (g) {
+this.paintBorder (g);
+}, "java.awt.Graphics");
+Clazz.defineMethod (c$, "isPaintingTile", 
+function () {
+return this.getFlag (2);
+});
+Clazz.defineMethod (c$, "isPaintingForPrint", 
+function () {
+return this.getFlag (11);
+});
+Clazz.defineMethod (c$, "isManagingFocus", 
+function () {
+return false;
+});
+Clazz.defineMethod (c$, "registerNextFocusableComponent", 
+ function () {
+this.registerNextFocusableComponent (this.getNextFocusableComponent ());
+});
+Clazz.defineMethod (c$, "registerNextFocusableComponent", 
+ function (nextFocusableComponent) {
+if (nextFocusableComponent == null) {
+return;
+}}, "java.awt.Component");
+Clazz.defineMethod (c$, "deregisterNextFocusableComponent", 
+ function () {
+var nextFocusableComponent = this.getNextFocusableComponent ();
+if (nextFocusableComponent == null) {
+return;
+}var nearestRoot = (this.isFocusCycleRoot ()) ? this : this.getFocusCycleRootAncestor ();
+if (nearestRoot == null) {
+return;
+}});
+Clazz.defineMethod (c$, "setNextFocusableComponent", 
+function (aComponent) {
+var displayable = this.isDisplayable ();
+if (displayable) {
+this.deregisterNextFocusableComponent ();
+}this.putClientProperty ("nextFocus", aComponent);
+if (displayable) {
+this.registerNextFocusableComponent (aComponent);
+}}, "java.awt.Component");
+Clazz.defineMethod (c$, "getNextFocusableComponent", 
+function () {
+return this.getClientProperty ("nextFocus");
+});
+Clazz.defineMethod (c$, "setRequestFocusEnabled", 
+function (requestFocusEnabled) {
+this.setFlag (22, !requestFocusEnabled);
+}, "~B");
+Clazz.defineMethod (c$, "isRequestFocusEnabled", 
+function () {
+return !this.getFlag (22);
+});
+Clazz.defineMethod (c$, "requestFocus", 
+function (temporary) {
+Clazz.superCall (this, javax.swing.JComponent, "requestFocus", []);
+return true;
+}, "~B");
+Clazz.defineMethod (c$, "requestFocusInWindow", 
+function (temporary) {
+return Clazz.superCall (this, javax.swing.JComponent, "requestFocusInWindow", []);
+}, "~B");
+Clazz.defineMethod (c$, "grabFocus", 
+function () {
+this.requestFocus ();
+});
+Clazz.defineMethod (c$, "setVerifyInputWhenFocusTarget", 
+function (verifyInputWhenFocusTarget) {
+var oldVerifyInputWhenFocusTarget = this.verifyInputWhenFocusTarget;
+this.verifyInputWhenFocusTarget = verifyInputWhenFocusTarget;
+this.firePropertyChangeBool ("verifyInputWhenFocusTarget", oldVerifyInputWhenFocusTarget, verifyInputWhenFocusTarget);
+}, "~B");
+Clazz.defineMethod (c$, "getVerifyInputWhenFocusTarget", 
+function () {
+return this.verifyInputWhenFocusTarget;
+});
+Clazz.overrideMethod (c$, "getFontMetrics", 
+function (font) {
+return jssun.font.FontDesignMetrics.getMetrics (font);
+}, "java.awt.Font");
+Clazz.overrideMethod (c$, "getPreferredSize", 
+function () {
+return this.getPrefSizeJComp ();
+});
+Clazz.defineMethod (c$, "getPrefSizeJComp", 
+function () {
+var size = (this.isPreferredSizeSet () || this.ui == null ? null : this.ui.getPreferredSize (this));
+return (size == null ? this.preferredSize () : size);
+});
+Clazz.defineMethod (c$, "getMaximumSize", 
+function () {
+if (this.isMaximumSizeSet ()) {
+return Clazz.superCall (this, javax.swing.JComponent, "getMaximumSize", []);
+}var size = null;
+if (this.ui != null) {
+size = this.ui.getMaximumSize (this);
+}return (size != null) ? size : Clazz.superCall (this, javax.swing.JComponent, "getMaximumSize", []);
+});
+Clazz.defineMethod (c$, "getMinimumSize", 
+function () {
+if (this.isMinimumSizeSet ()) {
+return Clazz.superCall (this, javax.swing.JComponent, "getMinimumSize", []);
+}var size = null;
+if (this.ui != null) {
+size = this.ui.getMinimumSize (this);
+}return (size != null) ? size : Clazz.superCall (this, javax.swing.JComponent, "getMinimumSize", []);
+});
+Clazz.overrideMethod (c$, "contains", 
+function (x, y) {
+return (this.ui != null) ? this.ui.contains (this, x, y) : this.inside (x, y);
+}, "~N,~N");
+Clazz.defineMethod (c$, "setBorder", 
+function (border) {
+var oldBorder = this.border;
+this.border = border;
+this.firePropertyChangeObject ("border", oldBorder, border);
+if (border !== oldBorder) {
+if (border == null || oldBorder == null || !(border.getBorderInsets (this).equals (oldBorder.getBorderInsets (this)))) {
+this.revalidate ();
+}this.repaint ();
+}}, "javax.swing.border.Border");
+Clazz.defineMethod (c$, "getBorder", 
+function () {
+return this.border;
+});
+Clazz.defineMethod (c$, "getInsets", 
+function () {
+if (this.border != null) {
+return this.border.getBorderInsets (this);
+}return Clazz.superCall (this, javax.swing.JComponent, "getInsets", []);
+});
+Clazz.defineMethod (c$, "getInsets", 
+function (insets) {
+if (insets == null) {
+insets =  new java.awt.Insets (0, 0, 0, 0);
+}if (this.border != null) {
+if (Clazz.instanceOf (this.border, javax.swing.border.AbstractBorder)) {
+return (this.border).getBorderInsets (this, insets);
+} else {
+return this.border.getBorderInsets (this);
+}} else {
+insets.left = insets.top = insets.right = insets.bottom = 0;
+return insets;
+}}, "java.awt.Insets");
+Clazz.defineMethod (c$, "getAlignmentY", 
+function () {
+if (this.isAlignmentYSet) {
+return this.alignmentY;
+}return Clazz.superCall (this, javax.swing.JComponent, "getAlignmentY", []);
+});
+Clazz.defineMethod (c$, "setAlignmentY", 
+function (alignmentY) {
+this.alignmentY = alignmentY > 1.0 ? 1.0 : alignmentY < 0.0 ? 0.0 : alignmentY;
+this.isAlignmentYSet = true;
+}, "~N");
+Clazz.defineMethod (c$, "getAlignmentX", 
+function () {
+if (this.isAlignmentXSet) {
+return this.alignmentX;
+}return Clazz.superCall (this, javax.swing.JComponent, "getAlignmentX", []);
+});
+Clazz.defineMethod (c$, "setAlignmentX", 
+function (alignmentX) {
+this.alignmentX = alignmentX > 1.0 ? 1.0 : alignmentX < 0.0 ? 0.0 : alignmentX;
+this.isAlignmentXSet = true;
+}, "~N");
+Clazz.defineMethod (c$, "setInputVerifier", 
+function (inputVerifier) {
+var oldInputVerifier = this.getClientProperty (javax.swing.ClientPropertyKey.JComponent_INPUT_VERIFIER);
+this.putClientProperty (javax.swing.ClientPropertyKey.JComponent_INPUT_VERIFIER, inputVerifier);
+this.firePropertyChangeObject ("inputVerifier", oldInputVerifier, inputVerifier);
+}, "javax.swing.InputVerifier");
+Clazz.defineMethod (c$, "getInputVerifier", 
+function () {
+return this.getClientProperty (javax.swing.ClientPropertyKey.JComponent_INPUT_VERIFIER);
+});
+Clazz.defineMethod (c$, "registerKeyboardAction", 
+function (anAction, aCommand, aKeyStroke, aCondition) {
+var inputMap = this.getInputMap (aCondition, true);
+if (inputMap != null) {
+var actionMap = this.getActionMap (true);
+var action = Clazz.innerTypeInstance (javax.swing.JComponent.ActionStandin, this, null, anAction, aCommand);
+inputMap.put (aKeyStroke, action);
+if (actionMap != null) {
+actionMap.put (action, action);
+}}}, "java.awt.event.ActionListener,~S,javax.swing.KeyStroke,~N");
+Clazz.defineMethod (c$, "registerWithKeyboardManager", 
+ function (onlyIfNew) {
+var inputMap = this.getInputMap (2, false);
+var strokes;
+var registered = this.getClientProperty ("_WhenInFocusedWindow");
+if (inputMap != null) {
+strokes = inputMap.allKeys ();
+if (strokes != null) {
+for (var counter = strokes.length - 1; counter >= 0; counter--) {
+if (!onlyIfNew || registered == null || registered.get (strokes[counter]) == null) {
+this.registerWithKeyboardManager (strokes[counter]);
+}if (registered != null) {
+registered.remove (strokes[counter]);
+}}
+}} else {
+strokes = null;
+}if (registered != null && registered.size () > 0) {
+var keys = registered.keys ();
+while (keys.hasMoreElements ()) {
+var ks = keys.nextElement ();
+this.unregisterWithKeyboardManager (ks);
+}
+registered.clear ();
+}if (strokes != null && strokes.length > 0) {
+if (registered == null) {
+registered =  new java.util.Hashtable (strokes.length);
+this.putClientProperty ("_WhenInFocusedWindow", registered);
+}for (var counter = strokes.length - 1; counter >= 0; counter--) {
+registered.put (strokes[counter], strokes[counter]);
+}
+} else {
+this.putClientProperty ("_WhenInFocusedWindow", null);
+}}, "~B");
+Clazz.defineMethod (c$, "unregisterWithKeyboardManager", 
+ function () {
+var registered = this.getClientProperty ("_WhenInFocusedWindow");
+if (registered != null && registered.size () > 0) {
+var keys = registered.keys ();
+while (keys.hasMoreElements ()) {
+var ks = keys.nextElement ();
+this.unregisterWithKeyboardManager (ks);
+}
+}this.putClientProperty ("_WhenInFocusedWindow", null);
+});
+Clazz.defineMethod (c$, "componentInputMapChanged", 
+function (inputMap) {
+var km = this.getInputMap (2, false);
+while (km !== inputMap && km != null) {
+km = km.getParent ();
+}
+if (km != null) {
+this.registerWithKeyboardManager (false);
+}}, "javax.swing.ComponentInputMap");
+Clazz.defineMethod (c$, "registerWithKeyboardManager", 
+ function (aKeyStroke) {
+javax.swing.KeyboardManager.getCurrentManager ().registerKeyStroke (aKeyStroke, this);
+}, "javax.swing.KeyStroke");
+Clazz.defineMethod (c$, "unregisterWithKeyboardManager", 
+ function (aKeyStroke) {
+javax.swing.KeyboardManager.getCurrentManager ().unregisterKeyStroke (aKeyStroke, this);
+}, "javax.swing.KeyStroke");
+Clazz.defineMethod (c$, "registerKeyboardAction", 
+function (anAction, aKeyStroke, aCondition) {
+this.registerKeyboardAction (anAction, null, aKeyStroke, aCondition);
+}, "java.awt.event.ActionListener,javax.swing.KeyStroke,~N");
+Clazz.defineMethod (c$, "unregisterKeyboardAction", 
+function (aKeyStroke) {
+var am = this.getActionMap (false);
+for (var counter = 0; counter < 3; counter++) {
+var km = this.getInputMap (counter, false);
+if (km != null) {
+var actionID = km.get (aKeyStroke);
+if (am != null && actionID != null) {
+am.remove (actionID);
+}km.remove (aKeyStroke);
+}}
+}, "javax.swing.KeyStroke");
+Clazz.defineMethod (c$, "getRegisteredKeyStrokes", 
+function () {
+var counts =  Clazz.newIntArray (3, 0);
+var strokes =  new Array (3);
+for (var counter = 0; counter < 3; counter++) {
+var km = this.getInputMap (counter, false);
+strokes[counter] = (km != null) ? km.allKeys () : null;
+counts[counter] = (strokes[counter] != null) ? strokes[counter].length : 0;
+}
+var retValue =  new Array (counts[0] + counts[1] + counts[2]);
+for (var counter = 0, last = 0; counter < 3; counter++) {
+if (counts[counter] > 0) {
+System.arraycopy (strokes[counter], 0, retValue, last, counts[counter]);
+last += counts[counter];
+}}
+return retValue;
+});
+Clazz.defineMethod (c$, "getConditionForKeyStroke", 
+function (aKeyStroke) {
+for (var counter = 0; counter < 3; counter++) {
+var inputMap = this.getInputMap (counter, false);
+if (inputMap != null && inputMap.get (aKeyStroke) != null) {
+return counter;
+}}
+return -1;
+}, "javax.swing.KeyStroke");
+Clazz.defineMethod (c$, "getActionForKeyStroke", 
+function (aKeyStroke) {
+var am = this.getActionMap (false);
+if (am == null) {
+return null;
+}for (var counter = 0; counter < 3; counter++) {
+var inputMap = this.getInputMap (counter, false);
+if (inputMap != null) {
+var actionBinding = inputMap.get (aKeyStroke);
+if (actionBinding != null) {
+var action = am.get (actionBinding);
+if (Clazz.instanceOf (action, javax.swing.JComponent.ActionStandin)) {
+return (action).actionListener;
+}return action;
+}}}
+return null;
+}, "javax.swing.KeyStroke");
+Clazz.defineMethod (c$, "resetKeyboardActions", 
+function () {
+for (var counter = 0; counter < 3; counter++) {
+var inputMap = this.getInputMap (counter, false);
+if (inputMap != null) {
+inputMap.clear ();
+}}
+var am = this.getActionMap (false);
+if (am != null) {
+am.clear ();
+}});
+Clazz.defineMethod (c$, "setInputMap", 
+function (condition, map) {
+switch (condition) {
+case 2:
+if (map != null && !(Clazz.instanceOf (map, javax.swing.ComponentInputMap))) {
+throw  new IllegalArgumentException ("WHEN_IN_FOCUSED_WINDOW InputMaps must be of type ComponentInputMap");
+}this.windowInputMap = map;
+this.setFlag (7, true);
+this.registerWithKeyboardManager (false);
+break;
+case 1:
+this.ancestorInputMap = map;
+this.setFlag (6, true);
+break;
+case 0:
+this.focusInputMap = map;
+this.setFlag (5, true);
+break;
+default:
+throw  new IllegalArgumentException ("condition must be one of JComponent.WHEN_IN_FOCUSED_WINDOW, JComponent.WHEN_FOCUSED or JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT");
+}
+}, "~N,javax.swing.InputMap");
+Clazz.defineMethod (c$, "getInputMap", 
+function (condition) {
+return this.getInputMap (condition, true);
+}, "~N");
+Clazz.defineMethod (c$, "getInputMap", 
+function () {
+return this.getInputMap (0, true);
+});
+Clazz.defineMethod (c$, "setActionMap", 
+function (am) {
+this.actionMap = am;
+this.setFlag (8, true);
+}, "javax.swing.ActionMap");
+Clazz.defineMethod (c$, "getActionMap", 
+function () {
+return this.getActionMap (true);
+});
+Clazz.defineMethod (c$, "getInputMap", 
+function (condition, create) {
+switch (condition) {
+case 0:
+if (this.getFlag (5)) {
+return this.focusInputMap;
+}if (create) {
+var km =  new javax.swing.InputMap ();
+this.setInputMap (condition, km);
+return km;
+}break;
+case 1:
+if (this.getFlag (6)) {
+return this.ancestorInputMap;
+}if (create) {
+var km =  new javax.swing.InputMap ();
+this.setInputMap (condition, km);
+return km;
+}break;
+case 2:
+if (this.getFlag (7)) {
+return this.windowInputMap;
+}if (create) {
+var km =  new javax.swing.ComponentInputMap (this);
+this.setInputMap (condition, km);
+return km;
+}break;
+default:
+throw  new IllegalArgumentException ("condition must be one of JComponent.WHEN_IN_FOCUSED_WINDOW, JComponent.WHEN_FOCUSED or JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT");
+}
+return null;
+}, "~N,~B");
+Clazz.defineMethod (c$, "getActionMap", 
+function (create) {
+{
+(arguments.length == 0) && (create = true);
+}if (this.getFlag (8)) {
+return this.actionMap;
+}if (create) {
+var am =  new javax.swing.ActionMap ();
+this.setActionMap (am);
+return am;
+}return null;
+}, "~B");
+Clazz.defineMethod (c$, "getBaseline", 
+function (width, height) {
+Clazz.superCall (this, javax.swing.JComponent, "getBaseline", [width, height]);
+if (this.ui != null) {
+return this.ui.getBaseline (this, width, height);
+}return -1;
+}, "~N,~N");
+Clazz.overrideMethod (c$, "getBaselineResizeBehavior", 
+function () {
+if (this.ui != null) {
+return this.ui.getBaselineResizeBehavior (this);
+}return java.awt.Component.BaselineResizeBehavior.OTHER;
+});
+Clazz.defineMethod (c$, "requestDefaultFocus", 
+function () {
+var nearestRoot = (this.isFocusCycleRoot ()) ? this : this.getFocusCycleRootAncestor ();
+if (nearestRoot == null) {
+return false;
+}return false;
+});
+Clazz.defineMethod (c$, "setVisible", 
+function (aFlag) {
+if (aFlag != this.isVisible ()) {
+Clazz.superCall (this, javax.swing.JComponent, "setVisible", [aFlag]);
+var parent = this.getParent ();
+if (parent != null) {
+var r = this.getBounds ();
+parent.repaint (r.x, r.y, r.width, r.height);
+}this.revalidate ();
+}}, "~B");
+Clazz.defineMethod (c$, "setEnabled", 
+function (enabled) {
+var oldEnabled = this.isEnabled ();
+Clazz.superCall (this, javax.swing.JComponent, "setEnabled", [enabled]);
+this.firePropertyChangeBool ("enabled", oldEnabled, enabled);
+if (enabled != oldEnabled) {
+this.repaint ();
+}}, "~B");
+Clazz.defineMethod (c$, "setForeground", 
+function (fg) {
+var oldFg = this.getForeground ();
+Clazz.superCall (this, javax.swing.JComponent, "setForeground", [fg]);
+if ((oldFg != null) ? !oldFg.equals (fg) : ((fg != null) && !fg.equals (oldFg))) {
+this.repaint ();
+}}, "java.awt.Color");
+Clazz.defineMethod (c$, "setBackground", 
+function (bg) {
+var oldBg = this.getBackground ();
+Clazz.superCall (this, javax.swing.JComponent, "setBackground", [bg]);
+if ((oldBg != null) ? !oldBg.equals (bg) : ((bg != null) && !bg.equals (oldBg))) {
+this.repaint ();
+}}, "java.awt.Color");
+Clazz.defineMethod (c$, "setFont", 
+function (font) {
+var oldFont = this.getFont ();
+Clazz.superCall (this, javax.swing.JComponent, "setFont", [font]);
+if (font !== oldFont) {
+this.revalidate ();
+this.repaint ();
+}}, "java.awt.Font");
+c$.getDefaultLocale = Clazz.defineMethod (c$, "getDefaultLocale", 
+function () {
+var l = javax.swing.SwingUtilities.appContextGet ("JComponent.defaultLocale");
+if (l == null) {
+l = java.util.Locale.getDefault ();
+javax.swing.JComponent.setDefaultLocale (l);
+}return l;
+});
+c$.setDefaultLocale = Clazz.defineMethod (c$, "setDefaultLocale", 
+function (l) {
+javax.swing.SwingUtilities.appContextPut ("JComponent.defaultLocale", l);
+}, "java.util.Locale");
+Clazz.defineMethod (c$, "processComponentKeyEvent", 
+function (e) {
+}, "java.awt.event.KeyEvent");
+Clazz.defineMethod (c$, "processKeyEvent", 
+function (e) {
+var shouldProcessKey;
+Clazz.superCall (this, javax.swing.JComponent, "processKeyEvent", [e]);
+if (!e.isConsumed ()) {
+this.processComponentKeyEvent (e);
+}shouldProcessKey = javax.swing.JComponent.KeyboardState.shouldProcess (e);
+if (e.isConsumed ()) {
+return;
+}if (shouldProcessKey && this.processKeyBindings (e, e.getID () == 401)) {
+e.consume ();
+}}, "java.awt.event.KeyEvent");
+Clazz.defineMethod (c$, "processKeyBinding", 
+function (ks, e, condition, pressed) {
+var map = this.getInputMap (condition, false);
+var am = this.getActionMap (false);
+if (map != null && am != null && this.isEnabled ()) {
+var binding = map.get (ks);
+var action = (binding == null) ? null : am.get (binding);
+if (action != null) {
+return javax.swing.SwingUtilities.notifyAction (action, ks, e, this, e.getModifiers ());
+}}return false;
+}, "javax.swing.KeyStroke,java.awt.event.KeyEvent,~N,~B");
+Clazz.defineMethod (c$, "processKeyBindings", 
+function (e, pressed) {
+if (!javax.swing.SwingUtilities.isValidKeyEventForKeyBindings (e)) {
+return false;
+}var ks;
+if (e.getID () == 400) {
+ks = javax.swing.KeyStroke.getKeyStroke (e.getKeyChar ());
+} else {
+ks = javax.swing.KeyStroke.getKeyStroke (e.getKeyCode (), e.getModifiers (), (pressed ? false : true));
+}if (this.processKeyBinding (ks, e, 0, pressed)) return true;
+var parent = this;
+while (parent != null && !(Clazz.instanceOf (parent, java.awt.Window)) && !(Clazz.instanceOf (parent, java.applet.Applet))) {
+if (Clazz.instanceOf (parent, javax.swing.JComponent)) {
+if ((parent).processKeyBinding (ks, e, 1, pressed)) return true;
+}parent = parent.getParent ();
+}
+if (parent != null) {
+return javax.swing.JComponent.processKeyBindingsForAllComponents (e, parent, pressed);
+}return false;
+}, "java.awt.event.KeyEvent,~B");
+c$.processKeyBindingsForAllComponents = Clazz.defineMethod (c$, "processKeyBindingsForAllComponents", 
+function (e, container, pressed) {
+while (true) {
+if (javax.swing.KeyboardManager.getCurrentManager ().fireKeyboardAction (e, pressed, container)) {
+return true;
+}if (Clazz.instanceOf (container, javax.swing.Popup.HeavyWeightWindow)) {
+container = (container).getOwner ();
+} else {
+return false;
+}}
+}, "java.awt.event.KeyEvent,java.awt.Container,~B");
+Clazz.defineMethod (c$, "setToolTipText", 
+function (text) {
+this.putClientProperty ("ToolTipText", text);
+}, "~S");
+Clazz.defineMethod (c$, "getToolTipText", 
+function () {
+return this.getClientProperty ("ToolTipText");
+});
+Clazz.defineMethod (c$, "getToolTipText", 
+function (event) {
+return this.getToolTipText ();
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "getToolTipLocation", 
+function (event) {
+return null;
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "getPopupLocation", 
+function (event) {
+return null;
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "createToolTip", 
+function () {
+var tip =  new javax.swing.JToolTip ();
+tip.setComponent (this);
+return tip;
+});
+Clazz.defineMethod (c$, "scrollRectToVisible", 
+function (aRect) {
+var parent;
+var dx = this.getX ();
+var dy = this.getY ();
+for (parent = this.getParent (); !(parent == null) && !(Clazz.instanceOf (parent, javax.swing.JComponent)) && !(Clazz.instanceOf (parent, javax.swing.CellRendererPane)); parent = parent.getParent ()) {
+var bounds = parent.getBounds ();
+dx += bounds.x;
+dy += bounds.y;
+}
+if (!(parent == null) && !(Clazz.instanceOf (parent, javax.swing.CellRendererPane))) {
+aRect.x += dx;
+aRect.y += dy;
+(parent).scrollRectToVisible (aRect);
+aRect.x -= dx;
+aRect.y -= dy;
+}}, "java.awt.Rectangle");
+Clazz.defineMethod (c$, "setAutoscrolls", 
+function (autoscrolls) {
+}, "~B");
+Clazz.defineMethod (c$, "getAutoscrolls", 
+function () {
+return this.autoscrolls;
+});
+Clazz.defineMethod (c$, "superProcessMouseMotionEvent", 
+function (e) {
+Clazz.superCall (this, javax.swing.JComponent, "processMouseMotionEvent", [e]);
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "setCreatedDoubleBuffer", 
+function (newValue) {
+this.setFlag (9, newValue);
+}, "~B");
+Clazz.defineMethod (c$, "getCreatedDoubleBuffer", 
+function () {
+return this.getFlag (9);
+});
+Clazz.defineMethod (c$, "getClientProperties", 
+ function () {
+if (this.clientProperties == null) {
+this.clientProperties =  new javax.swing.ArrayTable ();
+}return this.clientProperties;
+});
+Clazz.defineMethod (c$, "getClientProperty", 
+function (key) {
+if (this.clientProperties == null) {
+return null;
+} else {
+{
+return this.clientProperties.get (key);
+}}}, "~O");
+Clazz.defineMethod (c$, "putClientProperty", 
+function (key, value) {
+if (value == null && this.clientProperties == null) {
+return;
+}var clientProperties = this.getClientProperties ();
+var oldValue;
+{
+oldValue = clientProperties.get (key);
+if (value != null) {
+clientProperties.put (key, value);
+} else if (oldValue != null) {
+clientProperties.remove (key);
+} else {
+return;
+}}this.clientPropertyChanged (key, oldValue, value);
+this.firePropertyChangeObject (key.toString (), oldValue, value);
+}, "~O,~O");
+Clazz.defineMethod (c$, "clientPropertyChanged", 
+function (key, oldValue, newValue) {
+}, "~O,~O,~O");
+Clazz.defineMethod (c$, "setUIProperty", 
+function (propertyName, value) {
+if (propertyName === "opaque") {
+if (!this.getFlag (24)) {
+this.setOpaque ((value).booleanValue ());
+this.setFlag (24, false);
+}} else if (propertyName === "autoscrolls") {
+if (!this.getFlag (25)) {
+this.setAutoscrolls ((value).booleanValue ());
+this.setFlag (25, false);
+}} else if (propertyName === "focusTraversalKeysForward") {
+} else if (propertyName === "focusTraversalKeysBackward") {
+} else {
+System.out.println (swingjs.JSToolkit.getClassName (this) + " property \"" + propertyName + "\" cannot be set using this method" + swingjs.JSToolkit.getStackTrace (5));
+}}, "~S,~O");
+c$.isLightweightComponent = Clazz.defineMethod (c$, "isLightweightComponent", 
+function (c) {
+return !(Clazz.instanceOf (c, javax.swing.JApplet) || Clazz.instanceOf (c, javax.swing.JFrame) || Clazz.instanceOf (c, javax.swing.JWindow) || Clazz.instanceOf (c, javax.swing.JDialog));
+}, "java.awt.Component");
+Clazz.overrideMethod (c$, "isOpaque", 
+function () {
+return this.getFlag (3);
+});
+Clazz.defineMethod (c$, "setOpaque", 
+function (isOpaque) {
+var oldValue = this.getFlag (3);
+this.setFlag (3, isOpaque);
+this.setFlag (24, true);
+this.firePropertyChangeBool ("opaque", oldValue, isOpaque);
+}, "~B");
+Clazz.defineMethod (c$, "rectangleIsObscured", 
+function (x, y, width, height) {
+var numChildren = this.getComponentCount ();
+for (var i = 0; i < numChildren; i++) {
+var child = this.getComponent (i);
+var cx;
+var cy;
+var cw;
+var ch;
+cx = child.getX ();
+cy = child.getY ();
+cw = child.getWidth ();
+ch = child.getHeight ();
+if (x >= cx && (x + width) <= (cx + cw) && y >= cy && (y + height) <= (cy + ch) && child.isVisible ()) {
+if (Clazz.instanceOf (child, javax.swing.JComponent)) {
+return (child).isOpaque ();
+} else {
+return false;
+}}}
+return false;
+}, "~N,~N,~N,~N");
+c$.computeVisibleRect = Clazz.defineMethod (c$, "computeVisibleRect", 
+function (c, visibleRect) {
+var p = c.getParent ();
+var bounds = c.getBounds ();
+if (p == null || Clazz.instanceOf (p, java.awt.Window) || Clazz.instanceOf (p, java.applet.Applet)) {
+visibleRect.reshape (0, 0, bounds.width, bounds.height);
+} else {
+javax.swing.JComponent.computeVisibleRect (p, visibleRect);
+visibleRect.x -= bounds.x;
+visibleRect.y -= bounds.y;
+javax.swing.SwingUtilities.computeIntersection (0, 0, bounds.width, bounds.height, visibleRect);
+}}, "java.awt.Component,java.awt.Rectangle");
+Clazz.defineMethod (c$, "computeVisibleRect", 
+function (visibleRect) {
+javax.swing.JComponent.computeVisibleRect (this, visibleRect);
+}, "java.awt.Rectangle");
+Clazz.defineMethod (c$, "getVisibleRect", 
+function () {
+var visibleRect =  new java.awt.Rectangle ();
+this.computeVisibleRect (visibleRect);
+return visibleRect;
+});
+Clazz.defineMethod (c$, "getTopLevelAncestor", 
+function () {
+for (var p = this; p != null; p = p.getParent ()) {
+if (Clazz.instanceOf (p, java.awt.Window) || Clazz.instanceOf (p, java.applet.Applet)) {
+return p;
+}}
+return null;
+});
+Clazz.defineMethod (c$, "getAncestorNotifier", 
+ function () {
+return this.getClientProperty (javax.swing.ClientPropertyKey.JComponent_ANCESTOR_NOTIFIER);
+});
+Clazz.defineMethod (c$, "addAncestorListener", 
+function (listener) {
+var ancestorNotifier = this.getAncestorNotifier ();
+if (ancestorNotifier == null) {
+ancestorNotifier =  new javax.swing.AncestorNotifier (this);
+this.putClientProperty (javax.swing.ClientPropertyKey.JComponent_ANCESTOR_NOTIFIER, ancestorNotifier);
+}ancestorNotifier.addAncestorListener (listener);
+}, "javax.swing.event.AncestorListener");
+Clazz.defineMethod (c$, "removeAncestorListener", 
+function (listener) {
+var ancestorNotifier = this.getAncestorNotifier ();
+if (ancestorNotifier == null) {
+return;
+}ancestorNotifier.removeAncestorListener (listener);
+if (ancestorNotifier.listenerList.getListenerList ().length == 0) {
+ancestorNotifier.removeAllListeners ();
+this.putClientProperty (javax.swing.ClientPropertyKey.JComponent_ANCESTOR_NOTIFIER, null);
+}}, "javax.swing.event.AncestorListener");
+Clazz.defineMethod (c$, "getAncestorListeners", 
+function () {
+var ancestorNotifier = this.getAncestorNotifier ();
+if (ancestorNotifier == null) {
+return  new Array (0);
+}return ancestorNotifier.getAncestorListeners ();
+});
+Clazz.defineMethod (c$, "getListeners", 
+function (listenerType) {
+var result;
+if (listenerType === javax.swing.event.AncestorListener) {
+result = this.getAncestorListeners ();
+} else if (listenerType === java.beans.PropertyChangeListener) {
+result = this.getPropertyChangeListeners ();
+} else {
+result = this.listenerList.getListeners (listenerType);
+}if (result.length == 0) {
+return Clazz.superCall (this, javax.swing.JComponent, "getListeners", [listenerType]);
+}return result;
+}, "Class");
+Clazz.defineMethod (c$, "addNotify", 
+function () {
+Clazz.superCall (this, javax.swing.JComponent, "addNotify", []);
+this.firePropertyChangeObject ("ancestor", null, this.getParent ());
+this.registerWithKeyboardManager (false);
+this.registerNextFocusableComponent ();
+});
+Clazz.defineMethod (c$, "removeNotify", 
+function () {
+Clazz.superCall (this, javax.swing.JComponent, "removeNotify", []);
+this.firePropertyChangeObject ("ancestor", this.getParent (), null);
+this.unregisterWithKeyboardManager ();
+this.deregisterNextFocusableComponent ();
+if (this.getCreatedDoubleBuffer ()) {
+javax.swing.RepaintManager.currentManager (this).resetDoubleBuffer ();
+this.setCreatedDoubleBuffer (false);
+}});
+Clazz.defineMethod (c$, "repaint", 
+function (tm, x, y, width, height) {
+javax.swing.RepaintManager.currentManager (this).addDirtyRegion (this, x, y, width, height);
+}, "~N,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "repaint", 
+function (r) {
+this.repaint (0, r.x, r.y, r.width, r.height);
+}, "java.awt.Rectangle");
+Clazz.defineMethod (c$, "revalidate", 
+function () {
+if (this.getParent () == null) {
+return;
+}if (javax.swing.SwingUtilities.isEventDispatchThread ()) {
+this.invalidate ();
+javax.swing.RepaintManager.currentManager (this).addInvalidComponent (this);
+} else {
+{
+if (this.getFlag (28)) {
+return;
+}this.setFlag (28, true);
+}var callRevalidate = ((Clazz.isClassDefined ("javax.swing.JComponent$2") ? 0 : javax.swing.JComponent.$JComponent$2$ ()), Clazz.innerTypeInstance (javax.swing.JComponent$2, this, null));
+javax.swing.SwingUtilities.invokeLater (callRevalidate);
+}});
+Clazz.defineMethod (c$, "isValidateRoot", 
+function () {
+return false;
+});
+Clazz.defineMethod (c$, "isOptimizedDrawingEnabled", 
+function () {
+return true;
+});
+Clazz.defineMethod (c$, "isPaintingOrigin", 
+function () {
+return false;
+});
+Clazz.defineMethod (c$, "paintImmediately", 
+function (x, y, w, h) {
+{
+if (arguments.length == 1) {
+var r = x;
+x = r.x;
+y = r.y;
+w = r.width;
+h = r.height;
+}
+}var c = this;
+var parent;
+if (!this.isShowing ()) {
+return;
+}while (!(c).isOpaque ()) {
+parent = c.getParent ();
+if (parent != null) {
+x += c.getX ();
+y += c.getY ();
+c = parent;
+} else {
+break;
+}if (!(Clazz.instanceOf (c, javax.swing.JComponent))) {
+break;
+}}
+if (Clazz.instanceOf (c, javax.swing.JComponent)) {
+(c)._paintImmediately (x, y, w, h);
+} else {
+c.repaint (x, y, w, h);
+}}, "~N,~N,~N,~N");
+Clazz.defineMethod (c$, "paintImmediately", 
+function (r) {
+this.paintImmediately (r.x, r.y, r.width, r.height);
+}, "java.awt.Rectangle");
+Clazz.defineMethod (c$, "alwaysOnTop", 
+function () {
+return false;
+});
+Clazz.defineMethod (c$, "setPaintingChild", 
+function (paintingChild) {
+this.paintingChild = paintingChild;
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "_paintImmediately", 
+function (x, y, w, h) {
+var g;
+var c;
+var tmpX;
+var tmpY;
+var tmpWidth;
+var tmpHeight;
+var offsetX = 0;
+var offsetY = 0;
+var hasBuffer = false;
+var bufferedComponent = null;
+var paintingComponent = this;
+var path =  new java.util.ArrayList (7);
+var pIndex = -1;
+var pCount = 0;
+tmpX = tmpY = tmpWidth = tmpHeight = 0;
+var paintImmediatelyClip = javax.swing.JComponent.fetchRectangle ();
+paintImmediatelyClip.x = x;
+paintImmediatelyClip.y = y;
+paintImmediatelyClip.width = w;
+paintImmediatelyClip.height = h;
+var ontop = this.alwaysOnTop () && this.isOpaque ();
+if (ontop) {
+javax.swing.SwingUtilities.computeIntersection (0, 0, this.getWidth (), this.getHeight (), paintImmediatelyClip);
+if (paintImmediatelyClip.width == 0) {
+javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);
+return;
+}}var child;
+for (c = this, child = null; c != null && !(Clazz.instanceOf (c, java.awt.Window)) && !(Clazz.instanceOf (c, java.applet.Applet)); child = c, c = c.getParent ()) {
+var jc = (Clazz.instanceOf (c, javax.swing.JComponent)) ? c : null;
+path.add (c);
+if (!ontop && jc != null && !jc.isOptimizedDrawingEnabled ()) {
+var resetPC;
+if (c !== this) {
+if (jc.isPaintingOrigin ()) {
+resetPC = true;
+} else {
+var children = c.getComponents ();
+var i = 0;
+for (; i < children.length; i++) {
+if (children[i] === child) break;
+}
+switch (jc.getObscuredState (i, paintImmediatelyClip.x, paintImmediatelyClip.y, paintImmediatelyClip.width, paintImmediatelyClip.height)) {
+case 0:
+resetPC = false;
+break;
+case 2:
+javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);
+return;
+default:
+resetPC = true;
+break;
+}
+}} else {
+resetPC = false;
+}if (resetPC) {
+paintingComponent = jc;
+pIndex = pCount;
+offsetX = offsetY = 0;
+hasBuffer = false;
+}}pCount++;
+if (!ontop) {
+var bx = c.getX ();
+var by = c.getY ();
+tmpWidth = c.getWidth ();
+tmpHeight = c.getHeight ();
+javax.swing.SwingUtilities.computeIntersection (tmpX, tmpY, tmpWidth, tmpHeight, paintImmediatelyClip);
+paintImmediatelyClip.x += bx;
+paintImmediatelyClip.y += by;
+offsetX += bx;
+offsetY += by;
+}}
+if (c == null || paintImmediatelyClip.width <= 0 || paintImmediatelyClip.height <= 0) {
+javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);
+return;
+}paintingComponent.setFlag (13, true);
+paintImmediatelyClip.x -= offsetX;
+paintImmediatelyClip.y -= offsetY;
+if (paintingComponent !== this) {
+var comp;
+var i = pIndex;
+for (; i > 0; i--) {
+comp = path.get (i);
+if (Clazz.instanceOf (comp, javax.swing.JComponent)) {
+(comp).setPaintingChild (path.get (i - 1));
+}}
+}try {
+g = javax.swing.JComponent.safelyGetGraphics (paintingComponent, c).createSwingJS ();
+try {
+if (hasBuffer) {
+var rm = javax.swing.RepaintManager.currentManager (bufferedComponent);
+rm.beginPaint ();
+try {
+rm.paint (paintingComponent, bufferedComponent, g, paintImmediatelyClip.x, paintImmediatelyClip.y, paintImmediatelyClip.width, paintImmediatelyClip.height);
+} finally {
+rm.endPaint ();
+}
+} else {
+paintingComponent.paint (g);
+}} finally {
+g.dispose ();
+}
+} finally {
+if (paintingComponent !== this) {
+var comp;
+var i = pIndex;
+for (; i > 0; i--) {
+comp = path.get (i);
+if (Clazz.instanceOf (comp, javax.swing.JComponent)) {
+(comp).setPaintingChild (null);
+}}
+}paintingComponent.setFlag (13, false);
+}
+javax.swing.JComponent.recycleRectangle (paintImmediatelyClip);
+}, "~N,~N,~N,~N");
+Clazz.defineMethod (c$, "paintToOffscreen", 
+function (g, x, y, w, h, maxX, maxY) {
+try {
+this.setFlag (1, true);
+if ((y + h) < maxY || (x + w) < maxX) {
+this.setFlag (2, true);
+}if (this.getFlag (13)) {
+this.paint (g);
+} else {
+if (!this.rectangleIsObscured (x, y, w, h)) {
+this.paintComponent (g);
+this.paintBorder (g);
+}this.paintChildren (g);
+}} finally {
+this.setFlag (1, false);
+this.setFlag (2, false);
+}
+}, "java.awt.Graphics,~N,~N,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "getObscuredState", 
+ function (compIndex, x, y, width, height) {
+var retValue = 0;
+var tmpRect = javax.swing.JComponent.fetchRectangle ();
+for (var i = compIndex - 1; i >= 0; i--) {
+var sibling = this.getComponent (i);
+if (!sibling.isVisible ()) {
+continue;
+}var siblingRect;
+var opaque;
+if (Clazz.instanceOf (sibling, javax.swing.JComponent)) {
+opaque = (sibling).isOpaque ();
+if (!opaque) {
+if (retValue == 1) {
+continue;
+}}} else {
+opaque = true;
+}siblingRect = sibling.getBounds (tmpRect);
+if (opaque && x >= siblingRect.x && (x + width) <= (siblingRect.x + siblingRect.width) && y >= siblingRect.y && (y + height) <= (siblingRect.y + siblingRect.height)) {
+javax.swing.JComponent.recycleRectangle (tmpRect);
+return 2;
+} else if (retValue == 0 && !((x + width <= siblingRect.x) || (y + height <= siblingRect.y) || (x >= siblingRect.x + siblingRect.width) || (y >= siblingRect.y + siblingRect.height))) {
+retValue = 1;
+}}
+javax.swing.JComponent.recycleRectangle (tmpRect);
+return retValue;
+}, "~N,~N,~N,~N,~N");
+Clazz.defineMethod (c$, "checkIfChildObscuredBySibling", 
+function () {
+return true;
+});
+Clazz.defineMethod (c$, "setFlag", 
+ function (aFlag, aValue) {
+if (aValue) {
+this.flags |= (1 << aFlag);
+} else {
+this.flags &= ~(1 << aFlag);
+}}, "~N,~B");
+Clazz.defineMethod (c$, "getFlag", 
+ function (aFlag) {
+var mask = (1 << aFlag);
+return ((this.flags & mask) == mask);
+}, "~N");
+Clazz.defineMethod (c$, "setDoubleBuffered", 
+function (aFlag) {
+}, "~B");
+Clazz.overrideMethod (c$, "isDoubleBuffered", 
+function () {
+return this.getFlag (0);
+});
+Clazz.defineMethod (c$, "getRootPane", 
+function () {
+return javax.swing.SwingUtilities.getRootPane (this);
+});
+Clazz.defineMethod (c$, "paramString", 
+function () {
+var preferredSizeString = (this.isPreferredSizeSet () ? this.getPreferredSize ().toString () : "");
+var minimumSizeString = (this.isMinimumSizeSet () ? this.getMinimumSize ().toString () : "");
+var maximumSizeString = (this.isMaximumSizeSet () ? this.getMaximumSize ().toString () : "");
+var borderString = (this.border == null ? "" : (this.border === this ? "this" : this.border.toString ()));
+return Clazz.superCall (this, javax.swing.JComponent, "paramString", []) + ",alignmentX=" + this.alignmentX + ",alignmentY=" + this.alignmentY + ",border=" + borderString + ",flags=" + this.flags + ",maximumSize=" + maximumSizeString + ",minimumSize=" + minimumSizeString + ",preferredSize=" + preferredSizeString;
+});
+c$.$JComponent$ActionStandin$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.actionListener = null;
+this.command = null;
+this.action = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.JComponent, "ActionStandin", null, javax.swing.Action);
+Clazz.makeConstructor (c$, 
+function (a, b) {
+this.actionListener = a;
+if (Clazz.instanceOf (a, javax.swing.Action)) {
+this.action = a;
+} else {
+this.action = null;
+}this.command = b;
+}, "java.awt.event.ActionListener,~S");
+Clazz.defineMethod (c$, "getValue", 
+function (a) {
+if (a != null) {
+if (a.equals ("ActionCommandKey")) {
+return this.command;
+}if (this.action != null) {
+return this.action.getValue (a);
+}if (a.equals ("Name")) {
+return "ActionStandin";
+}}return null;
+}, "~S");
+Clazz.defineMethod (c$, "isEnabled", 
+function () {
+if (this.actionListener == null) {
+return false;
+}if (this.action == null) {
+return true;
+}return this.action.isEnabled ();
+});
+Clazz.defineMethod (c$, "actionPerformed", 
+function (a) {
+if (this.actionListener != null) {
+this.actionListener.actionPerformed (a);
+}}, "java.awt.event.ActionEvent");
+Clazz.overrideMethod (c$, "putValue", 
+function (a, b) {
+}, "~S,~O");
+Clazz.overrideMethod (c$, "setEnabled", 
+function (a) {
+}, "~B");
+Clazz.overrideMethod (c$, "addPropertyChangeListener", 
+function (a) {
+}, "java.beans.PropertyChangeListener");
+Clazz.overrideMethod (c$, "removePropertyChangeListener", 
+function (a) {
+}, "java.beans.PropertyChangeListener");
+c$ = Clazz.p0p ();
+};
+c$.$JComponent$2$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (javax.swing, "JComponent$2", null, Runnable);
+Clazz.overrideMethod (c$, "run", 
+function () {
+{
+this.b$["javax.swing.JComponent"].setFlag (28, false);
+}this.b$["javax.swing.JComponent"].revalidate ();
+});
+c$ = Clazz.p0p ();
+};
+c$.$JComponent$1$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (javax.swing, "JComponent$1", null, jssun.awt.RequestFocusController);
+Clazz.overrideMethod (c$, "acceptRequestFocus", 
+function (from, to, temporary, focusedWindowChangeAllowed, cause) {
+if ((to == null) || !(Clazz.instanceOf (to, javax.swing.JComponent))) {
+return true;
+}if ((from == null) || !(Clazz.instanceOf (from, javax.swing.JComponent))) {
+return true;
+}var target = to;
+if (!target.getVerifyInputWhenFocusTarget ()) {
+return true;
+}var jFocusOwner = from;
+var iv = jFocusOwner.getInputVerifier ();
+if (iv == null) {
+return true;
+} else {
+var currentSource = javax.swing.SwingUtilities.appContextGet (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY);
+if (currentSource === jFocusOwner) {
+return true;
+}javax.swing.SwingUtilities.appContextPut (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY, jFocusOwner);
+try {
+return iv.shouldYieldFocus (jFocusOwner);
+} finally {
+if (currentSource != null) {
+javax.swing.SwingUtilities.appContextPut (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY, currentSource);
+} else {
+javax.swing.SwingUtilities.appContextRemove (javax.swing.JComponent.INPUT_VERIFIER_SOURCE_KEY);
+}}
+}}, "java.awt.Component,java.awt.Component,~B,~B,jssun.awt.CausedFocusEvent.Cause");
+c$ = Clazz.p0p ();
+};
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+this.array = null;
+this.count = 0;
+this.capacity = 0;
+Clazz.instantialize (this, arguments);
+}, javax.swing.JComponent, "IntVector");
+Clazz.defineMethod (c$, "size", 
+function () {
+return this.count;
+});
+Clazz.defineMethod (c$, "elementAt", 
+function (a) {
+return this.array[a];
+}, "~N");
+Clazz.defineMethod (c$, "addElement", 
+function (a) {
+if (this.count == this.capacity) {
+this.capacity = (this.capacity + 2) * 2;
+var b =  Clazz.newIntArray (this.capacity, 0);
+if (this.count > 0) {
+System.arraycopy (this.array, 0, b, 0, this.count);
+}this.array = b;
+}this.array[this.count++] = a;
+}, "~N");
+Clazz.defineMethod (c$, "setElementAt", 
+function (a, b) {
+this.array[b] = a;
+}, "~N,~N");
+c$ = Clazz.p0p ();
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareType (javax.swing.JComponent, "KeyboardState");
+c$.getKeyCodeArray = Clazz.defineMethod (c$, "getKeyCodeArray", 
+function () {
+var a = javax.swing.SwingUtilities.appContextGet (javax.swing.JComponent.KeyboardState.keyCodesKey);
+if (a == null) {
+a =  new javax.swing.JComponent.IntVector ();
+javax.swing.SwingUtilities.appContextPut (javax.swing.JComponent.KeyboardState.keyCodesKey, a);
+}return a;
+});
+c$.registerKeyPressed = Clazz.defineMethod (c$, "registerKeyPressed", 
+function (a) {
+var b = javax.swing.JComponent.KeyboardState.getKeyCodeArray ();
+var c = b.size ();
+var d;
+for (d = 0; d < c; d++) {
+if (b.elementAt (d) == -1) {
+b.setElementAt (a, d);
+return;
+}}
+b.addElement (a);
+}, "~N");
+c$.registerKeyReleased = Clazz.defineMethod (c$, "registerKeyReleased", 
+function (a) {
+var b = javax.swing.JComponent.KeyboardState.getKeyCodeArray ();
+var c = b.size ();
+var d;
+for (d = 0; d < c; d++) {
+if (b.elementAt (d) == a) {
+b.setElementAt (-1, d);
+return;
+}}
+}, "~N");
+c$.keyIsPressed = Clazz.defineMethod (c$, "keyIsPressed", 
+function (a) {
+var b = javax.swing.JComponent.KeyboardState.getKeyCodeArray ();
+var c = b.size ();
+var d;
+for (d = 0; d < c; d++) {
+if (b.elementAt (d) == a) {
+return true;
+}}
+return false;
+}, "~N");
+c$.shouldProcess = Clazz.defineMethod (c$, "shouldProcess", 
+function (a) {
+switch (a.getID ()) {
+case 401:
+if (!javax.swing.JComponent.KeyboardState.keyIsPressed (a.getKeyCode ())) {
+javax.swing.JComponent.KeyboardState.registerKeyPressed (a.getKeyCode ());
+}return true;
+case 402:
+if (javax.swing.JComponent.KeyboardState.keyIsPressed (a.getKeyCode ()) || a.getKeyCode () == 154) {
+javax.swing.JComponent.KeyboardState.registerKeyReleased (a.getKeyCode ());
+return true;
+}return false;
+case 400:
+return true;
+default:
+return false;
+}
+}, "java.awt.event.KeyEvent");
+c$.keyCodesKey = c$.prototype.keyCodesKey = javax.swing.JComponent.KeyboardState;
+c$ = Clazz.p0p ();
+Clazz.defineStatics (c$,
+"uiClassID", "ComponentUI",
+"managingFocusForwardTraversalKeys", null,
+"managingFocusBackwardTraversalKeys", null,
+"NOT_OBSCURED", 0,
+"PARTIALLY_OBSCURED", 1,
+"COMPLETELY_OBSCURED", 2,
+"DEBUG_GRAPHICS_LOADED", false);
+c$.INPUT_VERIFIER_SOURCE_KEY = c$.prototype.INPUT_VERIFIER_SOURCE_KEY =  new Clazz._O ();
+Clazz.defineStatics (c$,
+"WHEN_FOCUSED", 0,
+"WHEN_ANCESTOR_OF_FOCUSED_COMPONENT", 1,
+"WHEN_IN_FOCUSED_WINDOW", 2,
+"UNDEFINED_CONDITION", -1,
+"WHEN_IN_FOCUSED_WINDOW_BINDINGS", "_WhenInFocusedWindow",
+"TOOL_TIP_TEXT_KEY", "ToolTipText",
+"NEXT_FOCUS", "nextFocus",
+"IS_DOUBLE_BUFFERED", 0,
+"ANCESTOR_USING_BUFFER", 1,
+"IS_PAINTING_TILE", 2,
+"IS_OPAQUE", 3,
+"FOCUS_INPUTMAP_CREATED", 5,
+"ANCESTOR_INPUTMAP_CREATED", 6,
+"WIF_INPUTMAP_CREATED", 7,
+"ACTIONMAP_CREATED", 8,
+"CREATED_DOUBLE_BUFFER", 9,
+"IS_PRINTING", 11,
+"IS_PRINTING_ALL", 12,
+"IS_REPAINTING", 13,
+"REQUEST_FOCUS_DISABLED", 22,
+"INHERITS_POPUP_MENU", 23,
+"OPAQUE_SET", 24,
+"AUTOSCROLLS_SET", 25,
+"REVALIDATE_RUNNABLE_SCHEDULED", 28);
+c$.tempRectangles = c$.prototype.tempRectangles =  new java.util.ArrayList (11);
+Clazz.defineStatics (c$,
+"defaultLocale", "JComponent.defaultLocale",
+"componentObtainingGraphicsFrom", null);
+c$.componentObtainingGraphicsFromLock = c$.prototype.componentObtainingGraphicsFromLock =  new Clazz._O ();
+c$.focusController = c$.prototype.focusController = ((Clazz.isClassDefined ("javax.swing.JComponent$1") ? 0 : javax.swing.JComponent.$JComponent$1$ ()), Clazz.innerTypeInstance (javax.swing.JComponent$1, this, null));
+});