home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / JOptionPane.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  15.5 KB  |  680 lines

  1. package javax.swing;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dialog;
  7. import java.awt.Dimension;
  8. import java.awt.Frame;
  9. import java.awt.Window;
  10. import java.beans.PropertyVetoException;
  11. import java.io.IOException;
  12. import java.io.ObjectInputStream;
  13. import java.io.ObjectOutputStream;
  14. import java.io.Serializable;
  15. import java.util.Vector;
  16. import javax.accessibility.Accessible;
  17. import javax.accessibility.AccessibleContext;
  18. import javax.swing.plaf.OptionPaneUI;
  19.  
  20. public class JOptionPane extends JComponent implements Accessible {
  21.    private static final String uiClassID = "OptionPaneUI";
  22.    public static final Object UNINITIALIZED_VALUE = "uninitializedValue";
  23.    public static final int DEFAULT_OPTION = -1;
  24.    public static final int YES_NO_OPTION = 0;
  25.    public static final int YES_NO_CANCEL_OPTION = 1;
  26.    public static final int OK_CANCEL_OPTION = 2;
  27.    public static final int YES_OPTION = 0;
  28.    public static final int NO_OPTION = 1;
  29.    public static final int CANCEL_OPTION = 2;
  30.    public static final int OK_OPTION = 0;
  31.    public static final int CLOSED_OPTION = -1;
  32.    public static final int ERROR_MESSAGE = 0;
  33.    public static final int INFORMATION_MESSAGE = 1;
  34.    public static final int WARNING_MESSAGE = 2;
  35.    public static final int QUESTION_MESSAGE = 3;
  36.    public static final int PLAIN_MESSAGE = -1;
  37.    public static final String ICON_PROPERTY = "icon";
  38.    public static final String MESSAGE_PROPERTY = "message";
  39.    public static final String VALUE_PROPERTY = "value";
  40.    public static final String OPTIONS_PROPERTY = "options";
  41.    public static final String INITIAL_VALUE_PROPERTY = "initialValue";
  42.    public static final String MESSAGE_TYPE_PROPERTY = "messageType";
  43.    public static final String OPTION_TYPE_PROPERTY = "optionType";
  44.    public static final String SELECTION_VALUES_PROPERTY = "selectionValues";
  45.    public static final String INITIAL_SELECTION_VALUE_PROPERTY = "initialSelectionValue";
  46.    public static final String INPUT_VALUE_PROPERTY = "inputValue";
  47.    public static final String WANTS_INPUT_PROPERTY = "wantsInput";
  48.    protected transient Icon icon;
  49.    protected transient Object message;
  50.    protected transient Object[] options;
  51.    protected transient Object initialValue;
  52.    protected int messageType;
  53.    protected int optionType;
  54.    protected transient Object value;
  55.    protected transient Object[] selectionValues;
  56.    protected transient Object inputValue;
  57.    protected transient Object initialSelectionValue;
  58.    protected boolean wantsInput;
  59.    private static final Object sharedFrameKey;
  60.    // $FF: synthetic field
  61.    static Class class$javax$swing$JOptionPane;
  62.  
  63.    static {
  64.       sharedFrameKey = class$javax$swing$JOptionPane != null ? class$javax$swing$JOptionPane : (class$javax$swing$JOptionPane = class$("javax.swing.JOptionPane"));
  65.    }
  66.  
  67.    public JOptionPane() {
  68.       this("JOptionPane message");
  69.    }
  70.  
  71.    public JOptionPane(Object var1) {
  72.       this(var1, -1);
  73.    }
  74.  
  75.    public JOptionPane(Object var1, int var2) {
  76.       this(var1, var2, -1);
  77.    }
  78.  
  79.    public JOptionPane(Object var1, int var2, int var3) {
  80.       this(var1, var2, var3, (Icon)null);
  81.    }
  82.  
  83.    public JOptionPane(Object var1, int var2, int var3, Icon var4) {
  84.       this(var1, var2, var3, var4, (Object[])null);
  85.    }
  86.  
  87.    public JOptionPane(Object var1, int var2, int var3, Icon var4, Object[] var5) {
  88.       this(var1, var2, var3, var4, var5, (Object)null);
  89.    }
  90.  
  91.    public JOptionPane(Object var1, int var2, int var3, Icon var4, Object[] var5, Object var6) {
  92.       this.message = var1;
  93.       this.options = var5;
  94.       this.initialValue = var6;
  95.       this.icon = var4;
  96.       this.setMessageType(var2);
  97.       this.setOptionType(var3);
  98.       this.value = "uninitializedValue";
  99.       this.inputValue = "uninitializedValue";
  100.       this.updateUI();
  101.    }
  102.  
  103.    // $FF: synthetic method
  104.    static Class class$(String var0) {
  105.       try {
  106.          return Class.forName(var0);
  107.       } catch (ClassNotFoundException var2) {
  108.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  109.       }
  110.    }
  111.  
  112.    public JDialog createDialog(Component var1, String var2) {
  113.       Frame var3 = getFrameForComponent(var1);
  114.       String var5 = System.getProperty("os.name");
  115.       boolean var6 = var5 != null && var5.indexOf("Solaris") != -1;
  116.       JDialog var4;
  117.       if (var6) {
  118.          var4 = SwingUtilities.getRecycledModalDialog(var3, var2);
  119.       } else {
  120.          var4 = new JDialog(var3, var2, true);
  121.       }
  122.  
  123.       Container var7 = var4.getContentPane();
  124.       var7.setLayout(new BorderLayout());
  125.       var7.add(this, "Center");
  126.       ((Window)var4).pack();
  127.       var4.setLocationRelativeTo(var1);
  128.       ((Window)var4).addWindowListener(new 1(this));
  129.       ((JComponent)this).addPropertyChangeListener(new 2(var4, var6, this));
  130.       return var4;
  131.    }
  132.  
  133.    public JInternalFrame createInternalFrame(Component var1, String var2) {
  134.       Object var3 = getDesktopPaneForComponent(var1);
  135.       if (var3 != null || var1 != null && (var3 = var1.getParent()) != null) {
  136.          JInternalFrame var4 = new JInternalFrame(var2, true, false, false, false);
  137.          ((JComponent)this).addPropertyChangeListener(new 3(var4, this));
  138.          var4.getContentPane().add(this, "Center");
  139.          if (var3 instanceof JDesktopPane) {
  140.             ((Container)var3).add(var4, JLayeredPane.MODAL_LAYER);
  141.          } else {
  142.             ((Container)var3).add(var4, "Center");
  143.          }
  144.  
  145.          Dimension var5 = ((JComponent)var4).getPreferredSize();
  146.          Dimension var6 = ((Component)var3).getSize();
  147.          ((Component)var4).setBounds((var6.width - var5.width) / 2, (var6.height - var5.height) / 2, var5.width, var5.height);
  148.          ((Container)var3).validate();
  149.  
  150.          try {
  151.             var4.setSelected(true);
  152.          } catch (PropertyVetoException var7) {
  153.          }
  154.  
  155.          return var4;
  156.       } else {
  157.          throw new RuntimeException("JOptionPane: parentComponent does not have a valid parent");
  158.       }
  159.    }
  160.  
  161.    public AccessibleContext getAccessibleContext() {
  162.       if (super.accessibleContext == null) {
  163.          super.accessibleContext = new AccessibleJOptionPane(this);
  164.       }
  165.  
  166.       return super.accessibleContext;
  167.    }
  168.  
  169.    public static JDesktopPane getDesktopPaneForComponent(Component var0) {
  170.       if (var0 == null) {
  171.          return null;
  172.       } else {
  173.          return var0 instanceof JDesktopPane ? (JDesktopPane)var0 : getDesktopPaneForComponent(var0.getParent());
  174.       }
  175.    }
  176.  
  177.    public static Frame getFrameForComponent(Component var0) {
  178.       if (var0 == null) {
  179.          return getRootFrame();
  180.       } else {
  181.          return var0 instanceof Frame ? (Frame)var0 : getFrameForComponent(var0.getParent());
  182.       }
  183.    }
  184.  
  185.    public Icon getIcon() {
  186.       return this.icon;
  187.    }
  188.  
  189.    public Object getInitialSelectionValue() {
  190.       return this.initialSelectionValue;
  191.    }
  192.  
  193.    public Object getInitialValue() {
  194.       return this.initialValue;
  195.    }
  196.  
  197.    public Object getInputValue() {
  198.       return this.inputValue;
  199.    }
  200.  
  201.    public int getMaxCharactersPerLineCount() {
  202.       return Integer.MAX_VALUE;
  203.    }
  204.  
  205.    public Object getMessage() {
  206.       return this.message;
  207.    }
  208.  
  209.    public int getMessageType() {
  210.       return this.messageType;
  211.    }
  212.  
  213.    public int getOptionType() {
  214.       return this.optionType;
  215.    }
  216.  
  217.    public Object[] getOptions() {
  218.       if (this.options != null) {
  219.          int var1 = this.options.length;
  220.          Object[] var2 = new Object[var1];
  221.          System.arraycopy(this.options, 0, var2, 0, var1);
  222.          return var2;
  223.       } else {
  224.          return this.options;
  225.       }
  226.    }
  227.  
  228.    public static Frame getRootFrame() {
  229.       Frame var0 = (Frame)SwingUtilities.appContextGet(sharedFrameKey);
  230.       if (var0 == null) {
  231.          var0 = SwingUtilities.getSharedOwnerFrame();
  232.          SwingUtilities.appContextPut(sharedFrameKey, var0);
  233.       }
  234.  
  235.       return var0;
  236.    }
  237.  
  238.    public Object[] getSelectionValues() {
  239.       return this.selectionValues;
  240.    }
  241.  
  242.    public OptionPaneUI getUI() {
  243.       return (OptionPaneUI)super.ui;
  244.    }
  245.  
  246.    public String getUIClassID() {
  247.       return "OptionPaneUI";
  248.    }
  249.  
  250.    public Object getValue() {
  251.       return this.value;
  252.    }
  253.  
  254.    public boolean getWantsInput() {
  255.       return this.wantsInput;
  256.    }
  257.  
  258.    protected String paramString() {
  259.       String var1 = this.icon != null ? this.icon.toString() : "";
  260.       String var2 = this.initialValue != null ? this.initialValue.toString() : "";
  261.       String var3 = this.message != null ? this.message.toString() : "";
  262.       String var4;
  263.       if (this.messageType == 0) {
  264.          var4 = "ERROR_MESSAGE";
  265.       } else if (this.messageType == 1) {
  266.          var4 = "INFORMATION_MESSAGE";
  267.       } else if (this.messageType == 2) {
  268.          var4 = "WARNING_MESSAGE";
  269.       } else if (this.messageType == 3) {
  270.          var4 = "QUESTION_MESSAGE";
  271.       } else if (this.messageType == -1) {
  272.          var4 = "PLAIN_MESSAGE";
  273.       } else {
  274.          var4 = "";
  275.       }
  276.  
  277.       String var5;
  278.       if (this.optionType == -1) {
  279.          var5 = "DEFAULT_OPTION";
  280.       } else if (this.optionType == 0) {
  281.          var5 = "YES_NO_OPTION";
  282.       } else if (this.optionType == 1) {
  283.          var5 = "YES_NO_CANCEL_OPTION";
  284.       } else if (this.optionType == 2) {
  285.          var5 = "OK_CANCEL_OPTION";
  286.       } else {
  287.          var5 = "";
  288.       }
  289.  
  290.       String var6 = this.wantsInput ? "true" : "false";
  291.       return super.paramString() + ",icon=" + var1 + ",initialValue=" + var2 + ",message=" + var3 + ",messageType=" + var4 + ",optionType=" + var5 + ",wantsInput=" + var6;
  292.    }
  293.  
  294.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  295.       var1.defaultReadObject();
  296.       Vector var2 = (Vector)var1.readObject();
  297.       int var3 = 0;
  298.       int var4 = var2.size();
  299.       if (var3 < var4 && var2.elementAt(var3).equals("icon")) {
  300.          ++var3;
  301.          this.icon = (Icon)var2.elementAt(var3);
  302.          ++var3;
  303.       }
  304.  
  305.       if (var3 < var4 && var2.elementAt(var3).equals("message")) {
  306.          ++var3;
  307.          this.message = var2.elementAt(var3);
  308.          ++var3;
  309.       }
  310.  
  311.       if (var3 < var4 && var2.elementAt(var3).equals("options")) {
  312.          ++var3;
  313.          this.options = var2.elementAt(var3);
  314.          ++var3;
  315.       }
  316.  
  317.       if (var3 < var4 && var2.elementAt(var3).equals("initialValue")) {
  318.          ++var3;
  319.          this.initialValue = var2.elementAt(var3);
  320.          ++var3;
  321.       }
  322.  
  323.       if (var3 < var4 && var2.elementAt(var3).equals("value")) {
  324.          ++var3;
  325.          this.value = var2.elementAt(var3);
  326.          ++var3;
  327.       }
  328.  
  329.       if (var3 < var4 && var2.elementAt(var3).equals("selectionValues")) {
  330.          ++var3;
  331.          this.selectionValues = var2.elementAt(var3);
  332.          ++var3;
  333.       }
  334.  
  335.       if (var3 < var4 && var2.elementAt(var3).equals("inputValue")) {
  336.          ++var3;
  337.          this.inputValue = var2.elementAt(var3);
  338.          ++var3;
  339.       }
  340.  
  341.       if (var3 < var4 && var2.elementAt(var3).equals("initialSelectionValue")) {
  342.          ++var3;
  343.          this.initialSelectionValue = var2.elementAt(var3);
  344.          ++var3;
  345.       }
  346.  
  347.       if (super.ui != null && this.getUIClassID().equals("OptionPaneUI")) {
  348.          super.ui.installUI(this);
  349.       }
  350.  
  351.    }
  352.  
  353.    public void selectInitialValue() {
  354.       OptionPaneUI var1 = this.getUI();
  355.       if (var1 != null) {
  356.          var1.selectInitialValue(this);
  357.       }
  358.  
  359.    }
  360.  
  361.    public void setIcon(Icon var1) {
  362.       Icon var2 = this.icon;
  363.       this.icon = var1;
  364.       ((JComponent)this).firePropertyChange("icon", var2, this.icon);
  365.    }
  366.  
  367.    public void setInitialSelectionValue(Object var1) {
  368.       Object var2 = this.initialSelectionValue;
  369.       this.initialSelectionValue = var1;
  370.       ((JComponent)this).firePropertyChange("initialSelectionValue", var2, var1);
  371.    }
  372.  
  373.    public void setInitialValue(Object var1) {
  374.       Object var2 = this.initialValue;
  375.       this.initialValue = var1;
  376.       ((JComponent)this).firePropertyChange("initialValue", var2, this.initialValue);
  377.    }
  378.  
  379.    public void setInputValue(Object var1) {
  380.       Object var2 = this.inputValue;
  381.       this.inputValue = var1;
  382.       ((JComponent)this).firePropertyChange("inputValue", var2, var1);
  383.    }
  384.  
  385.    public void setMessage(Object var1) {
  386.       Object var2 = this.message;
  387.       this.message = var1;
  388.       ((JComponent)this).firePropertyChange("message", var2, this.message);
  389.    }
  390.  
  391.    public void setMessageType(int var1) {
  392.       if (var1 != 0 && var1 != 1 && var1 != 2 && var1 != 3 && var1 != -1) {
  393.          throw new RuntimeException("JOptionPane: type must be one of JOptionPane.ERROR_MESSAGE, JOptionPane.INFORMATION_MESSAGE, JOptionPane.WARNING_MESSAGE, JOptionPane.QUESTION_MESSAGE or JOptionPane.PLAIN_MESSAGE");
  394.       } else {
  395.          int var2 = this.messageType;
  396.          this.messageType = var1;
  397.          ((JComponent)this).firePropertyChange("messageType", var2, this.messageType);
  398.       }
  399.    }
  400.  
  401.    public void setOptionType(int var1) {
  402.       if (var1 != -1 && var1 != 0 && var1 != 1 && var1 != 2) {
  403.          throw new RuntimeException("JOptionPane: option type must be one of JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_CANCEL_OPTION or JOptionPane.OK_CANCEL_OPTION");
  404.       } else {
  405.          int var2 = this.optionType;
  406.          this.optionType = var1;
  407.          ((JComponent)this).firePropertyChange("optionType", var2, this.optionType);
  408.       }
  409.    }
  410.  
  411.    public void setOptions(Object[] var1) {
  412.       Object[] var2 = this.options;
  413.       this.options = var1;
  414.       ((JComponent)this).firePropertyChange("options", var2, this.options);
  415.    }
  416.  
  417.    public static void setRootFrame(Frame var0) {
  418.       if (var0 != null) {
  419.          SwingUtilities.appContextPut(sharedFrameKey, var0);
  420.       } else {
  421.          SwingUtilities.appContextRemove(sharedFrameKey);
  422.       }
  423.  
  424.    }
  425.  
  426.    public void setSelectionValues(Object[] var1) {
  427.       Object[] var2 = this.selectionValues;
  428.       this.selectionValues = var1;
  429.       ((JComponent)this).firePropertyChange("selectionValues", var2, var1);
  430.       if (this.selectionValues != null) {
  431.          this.setWantsInput(true);
  432.       }
  433.  
  434.    }
  435.  
  436.    public void setUI(OptionPaneUI var1) {
  437.       if ((OptionPaneUI)super.ui != var1) {
  438.          super.setUI(var1);
  439.          ((Container)this).invalidate();
  440.       }
  441.  
  442.    }
  443.  
  444.    public void setValue(Object var1) {
  445.       Object var2 = this.value;
  446.       this.value = var1;
  447.       ((JComponent)this).firePropertyChange("value", var2, this.value);
  448.    }
  449.  
  450.    public void setWantsInput(boolean var1) {
  451.       boolean var2 = this.wantsInput;
  452.       this.wantsInput = var1;
  453.       ((JComponent)this).firePropertyChange("wantsInput", var2, var1);
  454.    }
  455.  
  456.    public static int showConfirmDialog(Component var0, Object var1) {
  457.       return showConfirmDialog(var0, var1, "Select an Option", 1);
  458.    }
  459.  
  460.    public static int showConfirmDialog(Component var0, Object var1, String var2, int var3) {
  461.       return showConfirmDialog(var0, var1, var2, var3, 3);
  462.    }
  463.  
  464.    public static int showConfirmDialog(Component var0, Object var1, String var2, int var3, int var4) {
  465.       return showConfirmDialog(var0, var1, var2, var3, var4, (Icon)null);
  466.    }
  467.  
  468.    public static int showConfirmDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5) {
  469.       return showOptionDialog(var0, var1, var2, var3, var4, var5, (Object[])null, (Object)null);
  470.    }
  471.  
  472.    public static String showInputDialog(Component var0, Object var1) {
  473.       return showInputDialog(var0, var1, "Input", 3);
  474.    }
  475.  
  476.    public static String showInputDialog(Component var0, Object var1, String var2, int var3) {
  477.       return (String)showInputDialog(var0, var1, var2, var3, (Icon)null, (Object[])null, (Object)null);
  478.    }
  479.  
  480.    public static Object showInputDialog(Component var0, Object var1, String var2, int var3, Icon var4, Object[] var5, Object var6) {
  481.       JOptionPane var7 = new JOptionPane(var1, var3, 2, var4, (Object[])null, (Object)null);
  482.       var7.setWantsInput(true);
  483.       var7.setSelectionValues(var5);
  484.       var7.setInitialSelectionValue(var6);
  485.       JDialog var8 = var7.createDialog(var0, var2);
  486.       var7.selectInitialValue();
  487.       ((Dialog)var8).show();
  488.       Object var9 = var7.getInputValue();
  489.       return var9 == "uninitializedValue" ? null : var9;
  490.    }
  491.  
  492.    public static String showInputDialog(Object var0) {
  493.       return showInputDialog((Component)null, var0);
  494.    }
  495.  
  496.    public static int showInternalConfirmDialog(Component var0, Object var1) {
  497.       return showInternalConfirmDialog(var0, var1, "Select an Option", 1);
  498.    }
  499.  
  500.    public static int showInternalConfirmDialog(Component var0, Object var1, String var2, int var3) {
  501.       return showInternalConfirmDialog(var0, var1, var2, var3, 3);
  502.    }
  503.  
  504.    public static int showInternalConfirmDialog(Component var0, Object var1, String var2, int var3, int var4) {
  505.       return showInternalConfirmDialog(var0, var1, var2, var3, var4, (Icon)null);
  506.    }
  507.  
  508.    public static int showInternalConfirmDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5) {
  509.       return showInternalOptionDialog(var0, var1, var2, var3, var4, var5, (Object[])null, (Object)null);
  510.    }
  511.  
  512.    public static String showInternalInputDialog(Component var0, Object var1) {
  513.       return showInternalInputDialog(var0, var1, "Input", 3);
  514.    }
  515.  
  516.    public static String showInternalInputDialog(Component var0, Object var1, String var2, int var3) {
  517.       return (String)showInternalInputDialog(var0, var1, var2, var3, (Icon)null, (Object[])null, (Object)null);
  518.    }
  519.  
  520.    public static Object showInternalInputDialog(Component var0, Object var1, String var2, int var3, Icon var4, Object[] var5, Object var6) {
  521.       JOptionPane var7 = new JOptionPane(var1, var3, 2, var4, (Object[])null, (Object)null);
  522.       var7.setWantsInput(true);
  523.       var7.setSelectionValues(var5);
  524.       var7.setInitialSelectionValue(var6);
  525.       JInternalFrame var8 = var7.createInternalFrame(var0, var2);
  526.       var7.selectInitialValue();
  527.       var8.startModal();
  528.       Object var9 = var7.getInputValue();
  529.       return var9 == "uninitializedValue" ? null : (String)var9;
  530.    }
  531.  
  532.    public static void showInternalMessageDialog(Component var0, Object var1) {
  533.       showInternalMessageDialog(var0, var1, "Message", 1);
  534.    }
  535.  
  536.    public static void showInternalMessageDialog(Component var0, Object var1, String var2, int var3) {
  537.       showInternalMessageDialog(var0, var1, var2, var3, (Icon)null);
  538.    }
  539.  
  540.    public static void showInternalMessageDialog(Component var0, Object var1, String var2, int var3, Icon var4) {
  541.       showInternalOptionDialog(var0, var1, var2, -1, var3, var4, (Object[])null, (Object)null);
  542.    }
  543.  
  544.    public static int showInternalOptionDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5, Object[] var6, Object var7) {
  545.       JOptionPane var8 = new JOptionPane(var1, var4, var3, var5, var6, var7);
  546.       var8.setInitialValue(var7);
  547.       JInternalFrame var9 = var8.createInternalFrame(var0, var2);
  548.       var8.selectInitialValue();
  549.       var9.startModal();
  550.       Object var10 = var8.getValue();
  551.       if (var10 == null) {
  552.          return -1;
  553.       } else if (var6 == null) {
  554.          return var10 instanceof Integer ? (Integer)var10 : -1;
  555.       } else {
  556.          int var11 = 0;
  557.  
  558.          for(int var12 = var6.length; var11 < var12; ++var11) {
  559.             if (var6[var11].equals(var10)) {
  560.                return var11;
  561.             }
  562.          }
  563.  
  564.          return -1;
  565.       }
  566.    }
  567.  
  568.    public static void showMessageDialog(Component var0, Object var1) {
  569.       showMessageDialog(var0, var1, "Message", 1);
  570.    }
  571.  
  572.    public static void showMessageDialog(Component var0, Object var1, String var2, int var3) {
  573.       showMessageDialog(var0, var1, var2, var3, (Icon)null);
  574.    }
  575.  
  576.    public static void showMessageDialog(Component var0, Object var1, String var2, int var3, Icon var4) {
  577.       showOptionDialog(var0, var1, var2, -1, var3, var4, (Object[])null, (Object)null);
  578.    }
  579.  
  580.    public static int showOptionDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5, Object[] var6, Object var7) {
  581.       JOptionPane var8 = new JOptionPane(var1, var4, var3, var5, var6, var7);
  582.       var8.setInitialValue(var7);
  583.       JDialog var9 = var8.createDialog(var0, var2);
  584.       var8.selectInitialValue();
  585.       ((Dialog)var9).show();
  586.       Object var10 = var8.getValue();
  587.       if (var10 == null) {
  588.          return -1;
  589.       } else if (var6 == null) {
  590.          return var10 instanceof Integer ? (Integer)var10 : -1;
  591.       } else {
  592.          int var11 = 0;
  593.  
  594.          for(int var12 = var6.length; var11 < var12; ++var11) {
  595.             if (var6[var11].equals(var10)) {
  596.                return var11;
  597.             }
  598.          }
  599.  
  600.          return -1;
  601.       }
  602.    }
  603.  
  604.    public void updateUI() {
  605.       this.setUI((OptionPaneUI)UIManager.getUI(this));
  606.    }
  607.  
  608.    private void writeObject(ObjectOutputStream var1) throws IOException {
  609.       Vector var2 = new Vector();
  610.       var1.defaultWriteObject();
  611.       if (this.icon != null && this.icon instanceof Serializable) {
  612.          var2.addElement("icon");
  613.          var2.addElement(this.icon);
  614.       }
  615.  
  616.       if (this.message != null && this.message instanceof Serializable) {
  617.          var2.addElement("message");
  618.          var2.addElement(this.message);
  619.       }
  620.  
  621.       if (this.options != null) {
  622.          Vector var3 = new Vector();
  623.          int var4 = 0;
  624.  
  625.          for(int var5 = this.options.length; var4 < var5; ++var4) {
  626.             if (this.options[var4] instanceof Serializable) {
  627.                var3.addElement(this.options[var4]);
  628.             }
  629.          }
  630.  
  631.          if (var3.size() > 0) {
  632.             int var6 = var3.size();
  633.             Object[] var7 = new Object[var6];
  634.             var3.copyInto(var7);
  635.             var2.addElement("options");
  636.             var2.addElement(var7);
  637.          }
  638.       }
  639.  
  640.       if (this.initialValue != null && this.initialValue instanceof Serializable) {
  641.          var2.addElement("initialValue");
  642.          var2.addElement(this.initialValue);
  643.       }
  644.  
  645.       if (this.value != null && this.value instanceof Serializable) {
  646.          var2.addElement("value");
  647.          var2.addElement(this.value);
  648.       }
  649.  
  650.       if (this.selectionValues != null) {
  651.          boolean var8 = true;
  652.          int var9 = 0;
  653.  
  654.          for(int var10 = this.selectionValues.length; var9 < var10; ++var9) {
  655.             if (this.selectionValues[var9] != null && !(this.selectionValues[var9] instanceof Serializable)) {
  656.                var8 = false;
  657.                break;
  658.             }
  659.          }
  660.  
  661.          if (var8) {
  662.             var2.addElement("selectionValues");
  663.             var2.addElement(this.selectionValues);
  664.          }
  665.       }
  666.  
  667.       if (this.inputValue != null && this.inputValue instanceof Serializable) {
  668.          var2.addElement("inputValue");
  669.          var2.addElement(this.inputValue);
  670.       }
  671.  
  672.       if (this.initialSelectionValue != null && this.initialSelectionValue instanceof Serializable) {
  673.          var2.addElement("initialSelectionValue");
  674.          var2.addElement(this.initialSelectionValue);
  675.       }
  676.  
  677.       var1.writeObject(var2);
  678.    }
  679. }
  680.