public virtual string ShowListSelectionDialog(IList <string> files, Point location)
        {
            Frame frame = new Frame();
            //System.out.println(location);
            //frame.setLocation(location);
            JDialog dialog = new JDialog(frame, "Jar File Chooser", true);

            dialog.SetLocation(location);
            JList fileList = new JList(new Vector <string>(files));

            fileList.SetSelectionMode(ListSelectionModelConstants.SingleSelection);
            IMouseListener mouseListener = new _MouseAdapter_68(dialog);

            // double clicked
            fileList.AddMouseListener(mouseListener);
            JScrollPane scroll = new JScrollPane(fileList);
            JButton     okay   = new JButton();

            okay.SetText("Okay");
            okay.SetToolTipText("Okay");
            okay.AddActionListener(null);
            JButton cancel = new JButton();

            cancel.SetText("Cancel");
            cancel.SetToolTipText("Cancel");
            cancel.AddActionListener(null);
            GridBagLayout      gridbag     = new GridBagLayout();
            GridBagConstraints constraints = new GridBagConstraints();

            dialog.SetLayout(gridbag);
            constraints.gridwidth = GridBagConstraints.Remainder;
            constraints.fill      = GridBagConstraints.Both;
            constraints.weightx   = 1.0;
            constraints.weighty   = 1.0;
            gridbag.SetConstraints(scroll, constraints);
            dialog.Add(scroll);
            constraints.gridwidth = GridBagConstraints.Relative;
            constraints.fill      = GridBagConstraints.None;
            constraints.weighty   = 0.0;
            gridbag.SetConstraints(okay, constraints);
            dialog.Add(okay);
            constraints.gridwidth = GridBagConstraints.Remainder;
            gridbag.SetConstraints(cancel, constraints);
            dialog.Add(cancel);
            dialog.Pack();
            dialog.SetSize(dialog.GetPreferredSize());
            dialog.SetVisible(true);
            if (fileList.IsSelectionEmpty())
            {
                return(null);
            }
            return(files[fileList.GetSelectedIndex()]);
        }