home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.awt.Rectangle;
- import java.awt.event.KeyEvent;
- import java.beans.PropertyChangeListener;
- import javax.swing.AbstractButton;
- import javax.swing.ActionMap;
- import javax.swing.ButtonModel;
- import javax.swing.Icon;
- import javax.swing.InputMap;
- import javax.swing.JComponent;
- import javax.swing.JMenu;
- import javax.swing.JMenuItem;
- import javax.swing.KeyStroke;
- import javax.swing.LookAndFeel;
- import javax.swing.MenuElement;
- import javax.swing.MenuSelectionManager;
- import javax.swing.SwingUtilities;
- import javax.swing.UIManager;
- import javax.swing.event.MenuDragMouseListener;
- import javax.swing.event.MenuKeyListener;
- import javax.swing.event.MouseInputListener;
- import javax.swing.plaf.ActionMapUIResource;
- import javax.swing.plaf.ComponentInputMapUIResource;
- import javax.swing.plaf.ComponentUI;
- import javax.swing.plaf.MenuItemUI;
- import javax.swing.plaf.UIResource;
- import javax.swing.text.View;
-
- public class BasicMenuItemUI extends MenuItemUI {
- protected JMenuItem menuItem = null;
- protected Color selectionBackground;
- protected Color selectionForeground;
- protected Color disabledForeground;
- protected Color acceleratorForeground;
- protected Color acceleratorSelectionForeground;
- private String acceleratorDelimiter;
- protected int defaultTextIconGap;
- protected Font acceleratorFont;
- protected MouseInputListener mouseInputListener;
- protected MenuDragMouseListener menuDragMouseListener;
- protected MenuKeyListener menuKeyListener;
- private PropertyChangeListener propertyChangeListener;
- protected Icon arrowIcon = null;
- protected Icon checkIcon = null;
- protected boolean oldBorderPainted;
- InputMap windowInputMap;
- private static final boolean TRACE = false;
- private static final boolean VERBOSE = false;
- private static final boolean DEBUG = false;
- private static final String MAX_TEXT_WIDTH = "maxTextWidth";
- private static final String MAX_ACC_WIDTH = "maxAccWidth";
- static Rectangle zeroRect = new Rectangle(0, 0, 0, 0);
- static Rectangle iconRect = new Rectangle();
- static Rectangle textRect = new Rectangle();
- static Rectangle acceleratorRect = new Rectangle();
- static Rectangle checkIconRect = new Rectangle();
- static Rectangle arrowIconRect = new Rectangle();
- static Rectangle viewRect = new Rectangle(32767, 32767);
- // $FF: renamed from: r java.awt.Rectangle
- static Rectangle field_0 = new Rectangle();
-
- public static ComponentUI createUI(JComponent var0) {
- return new BasicMenuItemUI();
- }
-
- public void installUI(JComponent var1) {
- this.menuItem = (JMenuItem)var1;
- this.installDefaults();
- this.installComponents(this.menuItem);
- this.installListeners();
- this.installKeyboardActions();
- }
-
- protected void installDefaults() {
- String var1 = this.getPropertyPrefix();
- this.acceleratorFont = UIManager.getFont("MenuItem.acceleratorFont");
- this.menuItem.setOpaque(true);
- if (this.menuItem.getMargin() == null || this.menuItem.getMargin() instanceof UIResource) {
- this.menuItem.setMargin(UIManager.getInsets(var1 + ".margin"));
- }
-
- this.defaultTextIconGap = 4;
- LookAndFeel.installBorder(this.menuItem, var1 + ".border");
- this.oldBorderPainted = this.menuItem.isBorderPainted();
- this.menuItem.setBorderPainted((Boolean)UIManager.get(var1 + ".borderPainted"));
- LookAndFeel.installColorsAndFont(this.menuItem, var1 + ".background", var1 + ".foreground", var1 + ".font");
- if (this.selectionBackground == null || this.selectionBackground instanceof UIResource) {
- this.selectionBackground = UIManager.getColor(var1 + ".selectionBackground");
- }
-
- if (this.selectionForeground == null || this.selectionForeground instanceof UIResource) {
- this.selectionForeground = UIManager.getColor(var1 + ".selectionForeground");
- }
-
- if (this.disabledForeground == null || this.disabledForeground instanceof UIResource) {
- this.disabledForeground = UIManager.getColor(var1 + ".disabledForeground");
- }
-
- if (this.acceleratorForeground == null || this.acceleratorForeground instanceof UIResource) {
- this.acceleratorForeground = UIManager.getColor(var1 + ".acceleratorForeground");
- }
-
- if (this.acceleratorSelectionForeground == null || this.acceleratorSelectionForeground instanceof UIResource) {
- this.acceleratorSelectionForeground = UIManager.getColor(var1 + ".acceleratorSelectionForeground");
- }
-
- this.acceleratorDelimiter = UIManager.getString("MenuItem.acceleratorDelimiter");
- if (this.acceleratorDelimiter == null) {
- this.acceleratorDelimiter = "+";
- }
-
- if (this.arrowIcon == null || this.arrowIcon instanceof UIResource) {
- this.arrowIcon = UIManager.getIcon(var1 + ".arrowIcon");
- }
-
- if (this.checkIcon == null || this.checkIcon instanceof UIResource) {
- this.checkIcon = UIManager.getIcon(var1 + ".checkIcon");
- }
-
- }
-
- protected void installComponents(JMenuItem var1) {
- BasicHTML.updateRenderer(var1, ((AbstractButton)var1).getText());
- }
-
- protected String getPropertyPrefix() {
- return "MenuItem";
- }
-
- protected void installListeners() {
- this.mouseInputListener = this.createMouseInputListener(this.menuItem);
- this.menuDragMouseListener = this.createMenuDragMouseListener(this.menuItem);
- this.menuKeyListener = this.createMenuKeyListener(this.menuItem);
- this.propertyChangeListener = this.createPropertyChangeListener(this.menuItem);
- this.menuItem.addMouseListener(this.mouseInputListener);
- this.menuItem.addMouseMotionListener(this.mouseInputListener);
- this.menuItem.addMenuDragMouseListener(this.menuDragMouseListener);
- this.menuItem.addMenuKeyListener(this.menuKeyListener);
- this.menuItem.addPropertyChangeListener(this.propertyChangeListener);
- }
-
- protected void installKeyboardActions() {
- ActionMap var1 = this.getActionMap();
- SwingUtilities.replaceUIActionMap(this.menuItem, var1);
- this.updateAcceleratorBinding();
- }
-
- public void uninstallUI(JComponent var1) {
- this.menuItem = (JMenuItem)var1;
- this.uninstallDefaults();
- this.uninstallComponents(this.menuItem);
- this.uninstallListeners();
- this.uninstallKeyboardActions();
- Container var2 = this.menuItem.getParent();
- if (var2 != null && var2 instanceof JComponent && (!(this.menuItem instanceof JMenu) || !((JMenu)this.menuItem).isTopLevelMenu())) {
- JComponent var3 = (JComponent)var2;
- var3.putClientProperty("maxAccWidth", (Object)null);
- var3.putClientProperty("maxTextWidth", (Object)null);
- }
-
- this.menuItem = null;
- }
-
- protected void uninstallDefaults() {
- LookAndFeel.uninstallBorder(this.menuItem);
- this.menuItem.setBorderPainted(this.oldBorderPainted);
- if (this.menuItem.getMargin() instanceof UIResource) {
- this.menuItem.setMargin((Insets)null);
- }
-
- if (this.arrowIcon instanceof UIResource) {
- this.arrowIcon = null;
- }
-
- if (this.checkIcon instanceof UIResource) {
- this.checkIcon = null;
- }
-
- }
-
- protected void uninstallComponents(JMenuItem var1) {
- BasicHTML.updateRenderer(var1, "");
- }
-
- protected void uninstallListeners() {
- this.menuItem.removeMouseListener(this.mouseInputListener);
- this.menuItem.removeMouseMotionListener(this.mouseInputListener);
- this.menuItem.removeMenuDragMouseListener(this.menuDragMouseListener);
- this.menuItem.removeMenuKeyListener(this.menuKeyListener);
- this.menuItem.removePropertyChangeListener(this.propertyChangeListener);
- this.mouseInputListener = null;
- this.menuDragMouseListener = null;
- this.menuKeyListener = null;
- this.propertyChangeListener = null;
- }
-
- protected void uninstallKeyboardActions() {
- SwingUtilities.replaceUIActionMap(this.menuItem, (ActionMap)null);
- if (this.windowInputMap != null) {
- SwingUtilities.replaceUIInputMap(this.menuItem, 2, (InputMap)null);
- this.windowInputMap = null;
- }
-
- }
-
- protected MouseInputListener createMouseInputListener(JComponent var1) {
- return new MouseInputHandler(this);
- }
-
- protected MenuDragMouseListener createMenuDragMouseListener(JComponent var1) {
- return new MenuDragMouseHandler(this, (1)null);
- }
-
- protected MenuKeyListener createMenuKeyListener(JComponent var1) {
- return new MenuKeyHandler(this, (1)null);
- }
-
- private PropertyChangeListener createPropertyChangeListener(JComponent var1) {
- return new PropertyChangeHandler(this, (1)null);
- }
-
- ActionMap getActionMap() {
- String var1 = this.getPropertyPrefix();
- String var2 = var1 + ".actionMap";
- ActionMap var3 = (ActionMap)UIManager.get(var2);
- if (var3 == null) {
- var3 = this.createActionMap();
- UIManager.put(var2, var3);
- }
-
- return var3;
- }
-
- ActionMap createActionMap() {
- ActionMapUIResource var1 = new ActionMapUIResource();
- ((ActionMap)var1).put("doClick", new ClickAction((1)null));
- return var1;
- }
-
- InputMap createInputMap(int var1) {
- return var1 == 2 ? new ComponentInputMapUIResource(this.menuItem) : null;
- }
-
- void updateAcceleratorBinding() {
- KeyStroke var1 = this.menuItem.getAccelerator();
- if (var1 != null) {
- if (this.windowInputMap == null) {
- this.windowInputMap = this.createInputMap(2);
- SwingUtilities.replaceUIInputMap(this.menuItem, 2, this.windowInputMap);
- }
-
- this.windowInputMap.put(var1, "doClick");
- } else if (this.windowInputMap != null) {
- this.windowInputMap.clear();
- }
-
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- Dimension var2 = null;
- View var3 = (View)var1.getClientProperty("html");
- if (var3 != null) {
- var2 = this.getPreferredSize(var1);
- var2.width = (int)((float)var2.width - (var3.getPreferredSpan(0) - var3.getMinimumSpan(0)));
- }
-
- return var2;
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- return this.getPreferredMenuItemSize(var1, this.checkIcon, this.arrowIcon, this.defaultTextIconGap);
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- Dimension var2 = null;
- View var3 = (View)var1.getClientProperty("html");
- if (var3 != null) {
- var2 = this.getPreferredSize(var1);
- var2.width = (int)((float)var2.width + (var3.getMaximumSpan(0) - var3.getPreferredSpan(0)));
- }
-
- return var2;
- }
-
- private void resetRects() {
- iconRect.setBounds(zeroRect);
- textRect.setBounds(zeroRect);
- acceleratorRect.setBounds(zeroRect);
- checkIconRect.setBounds(zeroRect);
- arrowIconRect.setBounds(zeroRect);
- viewRect.setBounds(0, 0, 32767, 32767);
- field_0.setBounds(zeroRect);
- }
-
- protected Dimension getPreferredMenuItemSize(JComponent var1, Icon var2, Icon var3, int var4) {
- JMenuItem var5 = (JMenuItem)var1;
- Icon var6 = ((AbstractButton)var5).getIcon();
- String var7 = ((AbstractButton)var5).getText();
- KeyStroke var8 = var5.getAccelerator();
- String var9 = "";
- if (var8 != null) {
- int var10 = var8.getModifiers();
- if (var10 > 0) {
- var9 = KeyEvent.getKeyModifiersText(var10);
- var9 = var9 + this.acceleratorDelimiter;
- }
-
- var9 = var9 + KeyEvent.getKeyText(var8.getKeyCode());
- }
-
- Font var20 = ((Component)var5).getFont();
- FontMetrics var11 = ((Component)var5).getToolkit().getFontMetrics(var20);
- FontMetrics var12 = ((Component)var5).getToolkit().getFontMetrics(this.acceleratorFont);
- this.resetRects();
- this.layoutMenuItem(var11, var7, var12, var9, var6, var2, var3, ((AbstractButton)var5).getVerticalAlignment(), ((AbstractButton)var5).getHorizontalAlignment(), ((AbstractButton)var5).getVerticalTextPosition(), ((AbstractButton)var5).getHorizontalTextPosition(), viewRect, iconRect, textRect, acceleratorRect, checkIconRect, arrowIconRect, var7 == null ? 0 : var4, var4);
- field_0.setBounds(textRect);
- field_0 = SwingUtilities.computeUnion(iconRect.x, iconRect.y, iconRect.width, iconRect.height, field_0);
- Container var13 = this.menuItem.getParent();
- if (var13 != null && var13 instanceof JComponent && (!(this.menuItem instanceof JMenu) || !((JMenu)this.menuItem).isTopLevelMenu())) {
- JComponent var14 = (JComponent)var13;
- Integer var15 = (Integer)var14.getClientProperty("maxTextWidth");
- Integer var16 = (Integer)var14.getClientProperty("maxAccWidth");
- int var17 = var15 != null ? var15 : 0;
- int var18 = var16 != null ? var16 : 0;
- if (field_0.width < var17) {
- field_0.width = var17;
- } else {
- var14.putClientProperty("maxTextWidth", new Integer(field_0.width));
- }
-
- if (acceleratorRect.width > var18) {
- var18 = acceleratorRect.width;
- var14.putClientProperty("maxAccWidth", new Integer(acceleratorRect.width));
- }
-
- Rectangle var10000 = field_0;
- var10000.width += var18;
- var10000 = field_0;
- var10000.width += var4;
- }
-
- if (this.useCheckAndArrow()) {
- Rectangle var23 = field_0;
- var23.width += checkIconRect.width;
- var23 = field_0;
- var23.width += var4;
- var23 = field_0;
- var23.width += var4;
- var23 = field_0;
- var23.width += arrowIconRect.width;
- }
-
- Rectangle var27 = field_0;
- var27.width += 2 * var4;
- Insets var21 = ((JComponent)var5).getInsets();
- if (var21 != null) {
- var27 = field_0;
- var27.width += var21.left + var21.right;
- var27 = field_0;
- var27.height += var21.top + var21.bottom;
- }
-
- if (field_0.width % 2 == 0) {
- ++field_0.width;
- }
-
- if (field_0.height % 2 == 0) {
- ++field_0.height;
- }
-
- return field_0.getSize();
- }
-
- public void update(Graphics var1, JComponent var2) {
- this.paint(var1, var2);
- }
-
- public void paint(Graphics var1, JComponent var2) {
- this.paintMenuItem(var1, var2, this.checkIcon, this.arrowIcon, this.selectionBackground, this.selectionForeground, this.defaultTextIconGap);
- }
-
- protected void paintMenuItem(Graphics var1, JComponent var2, Icon var3, Icon var4, Color var5, Color var6, int var7) {
- JMenuItem var8 = (JMenuItem)var2;
- ButtonModel var9 = ((AbstractButton)var8).getModel();
- int var10 = ((JComponent)var8).getWidth();
- int var11 = ((JComponent)var8).getHeight();
- Insets var12 = var2.getInsets();
- this.resetRects();
- viewRect.setBounds(0, 0, var10, var11);
- Rectangle var10000 = viewRect;
- var10000.x += var12.left;
- var10000 = viewRect;
- var10000.y += var12.top;
- var10000 = viewRect;
- var10000.width -= var12.right + viewRect.x;
- var10000 = viewRect;
- var10000.height -= var12.bottom + viewRect.y;
- Font var13 = var1.getFont();
- Font var14 = ((Component)var2).getFont();
- var1.setFont(var14);
- FontMetrics var15 = var1.getFontMetrics(var14);
- FontMetrics var16 = var1.getFontMetrics(this.acceleratorFont);
- Color var17 = var1.getColor();
- if (var2.isOpaque()) {
- if (!var9.isArmed() && (!(var2 instanceof JMenu) || !var9.isSelected())) {
- var1.setColor(((Component)var8).getBackground());
- var1.fillRect(0, 0, var10, var11);
- } else {
- var1.setColor(var5);
- var1.fillRect(0, 0, var10, var11);
- }
-
- var1.setColor(var17);
- }
-
- KeyStroke var18 = var8.getAccelerator();
- String var19 = "";
- if (var18 != null) {
- int var20 = var18.getModifiers();
- if (var20 > 0) {
- var19 = KeyEvent.getKeyModifiersText(var20);
- var19 = var19 + this.acceleratorDelimiter;
- }
-
- var19 = var19 + KeyEvent.getKeyText(var18.getKeyCode());
- }
-
- String var27 = this.layoutMenuItem(var15, ((AbstractButton)var8).getText(), var16, var19, ((AbstractButton)var8).getIcon(), var3, var4, ((AbstractButton)var8).getVerticalAlignment(), ((AbstractButton)var8).getHorizontalAlignment(), ((AbstractButton)var8).getVerticalTextPosition(), ((AbstractButton)var8).getHorizontalTextPosition(), viewRect, iconRect, textRect, acceleratorRect, checkIconRect, arrowIconRect, ((AbstractButton)var8).getText() == null ? 0 : var7, var7);
- if (var3 != null) {
- if (!var9.isArmed() && (!(var2 instanceof JMenu) || !var9.isSelected())) {
- var1.setColor(var17);
- } else {
- var1.setColor(var6);
- }
-
- if (this.useCheckAndArrow()) {
- var3.paintIcon(var2, var1, checkIconRect.x, checkIconRect.y);
- }
-
- var1.setColor(var17);
- }
-
- if (((AbstractButton)var8).getIcon() != null) {
- Icon var21;
- if (!var9.isEnabled()) {
- var21 = ((AbstractButton)var8).getDisabledIcon();
- } else if (var9.isPressed() && var9.isArmed()) {
- var21 = ((AbstractButton)var8).getPressedIcon();
- if (var21 == null) {
- var21 = ((AbstractButton)var8).getIcon();
- }
- } else {
- var21 = ((AbstractButton)var8).getIcon();
- }
-
- if (var21 != null) {
- var21.paintIcon(var2, var1, iconRect.x, iconRect.y);
- }
- }
-
- if (var27 != null) {
- View var28 = (View)var2.getClientProperty("html");
- if (var28 != null) {
- var28.paint(var1, textRect);
- } else if (!var9.isEnabled()) {
- if (UIManager.get("MenuItem.disabledForeground") instanceof Color) {
- var1.setColor(UIManager.getColor("MenuItem.disabledForeground"));
- BasicGraphicsUtils.drawString(var1, var27, var9.getMnemonic(), textRect.x, textRect.y + var15.getAscent());
- } else {
- var1.setColor(((Component)var8).getBackground().brighter());
- BasicGraphicsUtils.drawString(var1, var27, var9.getMnemonic(), textRect.x, textRect.y + var15.getAscent());
- var1.setColor(((Component)var8).getBackground().darker());
- BasicGraphicsUtils.drawString(var1, var27, var9.getMnemonic(), textRect.x - 1, textRect.y + var15.getAscent() - 1);
- }
- } else {
- if (!var9.isArmed() && (!(var2 instanceof JMenu) || !var9.isSelected())) {
- var1.setColor(var17);
- } else {
- var1.setColor(var6);
- }
-
- BasicGraphicsUtils.drawString(var1, var27, var9.getMnemonic(), textRect.x, textRect.y + var15.getAscent());
- }
- }
-
- if (var19 != null && !var19.equals("")) {
- int var29 = 0;
- Container var22 = this.menuItem.getParent();
- if (var22 != null && var22 instanceof JComponent) {
- JComponent var23 = (JComponent)var22;
- Integer var24 = (Integer)var23.getClientProperty("maxAccWidth");
- int var25 = var24 != null ? var24 : 0;
- var29 = var25 - acceleratorRect.width;
- }
-
- var1.setFont(this.acceleratorFont);
- if (!var9.isEnabled()) {
- if (this.disabledForeground != null) {
- var1.setColor(this.disabledForeground);
- BasicGraphicsUtils.drawString(var1, var19, 0, acceleratorRect.x - var29, acceleratorRect.y + var16.getAscent());
- } else {
- var1.setColor(((Component)var8).getBackground().brighter());
- BasicGraphicsUtils.drawString(var1, var19, 0, acceleratorRect.x - var29, acceleratorRect.y + var16.getAscent());
- var1.setColor(((Component)var8).getBackground().darker());
- BasicGraphicsUtils.drawString(var1, var19, 0, acceleratorRect.x - var29 - 1, acceleratorRect.y + var16.getAscent() - 1);
- }
- } else {
- if (!var9.isArmed() && (!(var2 instanceof JMenu) || !var9.isSelected())) {
- var1.setColor(this.acceleratorForeground);
- } else {
- var1.setColor(this.acceleratorSelectionForeground);
- }
-
- BasicGraphicsUtils.drawString(var1, var19, 0, acceleratorRect.x - var29, acceleratorRect.y + var16.getAscent());
- }
- }
-
- if (var4 != null) {
- if (var9.isArmed() || var2 instanceof JMenu && var9.isSelected()) {
- var1.setColor(var6);
- }
-
- if (this.useCheckAndArrow()) {
- var4.paintIcon(var2, var1, arrowIconRect.x, arrowIconRect.y);
- }
- }
-
- var1.setColor(var17);
- var1.setFont(var13);
- }
-
- private String layoutMenuItem(FontMetrics var1, String var2, FontMetrics var3, String var4, Icon var5, Icon var6, Icon var7, int var8, int var9, int var10, int var11, Rectangle var12, Rectangle var13, Rectangle var14, Rectangle var15, Rectangle var16, Rectangle var17, int var18, int var19) {
- SwingUtilities.layoutCompoundLabel(this.menuItem, var1, var2, var5, var8, var9, var10, var11, var12, var13, var14, var18);
- if (var4 != null && !var4.equals("")) {
- var15.width = SwingUtilities.computeStringWidth(var3, var4);
- var15.height = var3.getHeight();
- } else {
- var15.width = var15.height = 0;
- var4 = "";
- }
-
- if (this.useCheckAndArrow()) {
- if (var6 != null) {
- var16.width = var6.getIconWidth();
- var16.height = var6.getIconHeight();
- } else {
- var16.width = var16.height = 0;
- }
-
- if (var7 != null) {
- var17.width = var7.getIconWidth();
- var17.height = var7.getIconHeight();
- } else {
- var17.width = var17.height = 0;
- }
- }
-
- Rectangle var20 = var13.union(var14);
- if (BasicGraphicsUtils.isLeftToRight(this.menuItem)) {
- var14.x += var19;
- var13.x += var19;
- var15.x = var12.x + var12.width - var17.width - var19 - var15.width;
- if (this.useCheckAndArrow()) {
- var16.x = var12.x + var19;
- var14.x += var19 + var16.width;
- var13.x += var19 + var16.width;
- var17.x = var12.x + var12.width - var19 - var17.width;
- }
- } else {
- var14.x -= var19;
- var13.x -= var19;
- var15.x = var12.x + var17.width + var19;
- if (this.useCheckAndArrow()) {
- var16.x = var12.x + var12.width - var19 - var16.width;
- var14.x -= var19 + var16.width;
- var13.x -= var19 + var16.width;
- var17.x = var12.x + var19;
- }
- }
-
- var15.y = var20.y + var20.height / 2 - var15.height / 2;
- if (this.useCheckAndArrow()) {
- var17.y = var20.y + var20.height / 2 - var17.height / 2;
- var16.y = var20.y + var20.height / 2 - var16.height / 2;
- }
-
- return var2;
- }
-
- private boolean useCheckAndArrow() {
- boolean var1 = true;
- if (this.menuItem instanceof JMenu && ((JMenu)this.menuItem).isTopLevelMenu()) {
- var1 = false;
- }
-
- return var1;
- }
-
- public MenuElement[] getPath() {
- MenuSelectionManager var1 = MenuSelectionManager.defaultManager();
- MenuElement[] var2 = var1.getSelectedPath();
- int var4 = var2.length;
- if (var4 == 0) {
- return new MenuElement[0];
- } else {
- Container var5 = this.menuItem.getParent();
- MenuElement[] var3;
- if (var2[var4 - 1].getComponent() == var5) {
- var3 = new MenuElement[var4 + 1];
- System.arraycopy(var2, 0, var3, 0, var4);
- var3[var4] = this.menuItem;
- } else {
- int var6;
- for(var6 = var2.length - 1; var6 >= 0 && var2[var6].getComponent() != var5; --var6) {
- }
-
- var3 = new MenuElement[var6 + 2];
- System.arraycopy(var2, 0, var3, 0, var6 + 1);
- var3[var6 + 1] = this.menuItem;
- }
-
- return var3;
- }
- }
-
- void printMenuElementArray(MenuElement[] var1, boolean var2) {
- System.out.println("Path is(");
- int var3 = 0;
-
- for(int var4 = var1.length; var3 < var4; ++var3) {
- for(int var5 = 0; var5 <= var3; ++var5) {
- System.out.print(" ");
- }
-
- MenuElement var6 = var1[var3];
- if (var6 instanceof JMenuItem) {
- System.out.println(((JMenuItem)var6).getText() + ", ");
- } else if (var6 == null) {
- System.out.println("NULL , ");
- } else {
- System.out.println("" + var6 + ", ");
- }
- }
-
- System.out.println(")");
- if (var2) {
- Thread.dumpStack();
- }
-
- }
- }
-