Changeset 10035 in josm for trunk/src


Ignore:
Timestamp:
2016-03-23T22:36:15+01:00 (9 years ago)
Author:
Don-vip
Message:

code refactoring to ease creation of unit tests by avoiding as much as possible HeadlessException

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java

    r10001 r10035  
    146146
    147147    public ExtendedDialog(Component parent, String title, String[] buttonTexts, boolean modal, boolean disposeOnClose) {
    148         super(JOptionPane.getFrameForComponent(parent), title, modal ? ModalityType.DOCUMENT_MODAL : ModalityType.MODELESS);
     148        super(GuiHelper.getFrameForComponent(parent), title, modal ? ModalityType.DOCUMENT_MODAL : ModalityType.MODELESS);
    149149        this.parent = parent;
    150150        this.modal = modal;
     
    441441        Dimension x = new Dimension(screenSize.width*2/3, screenSize.height*2/3);
    442442        if (parent != null && parent.isVisible()) {
    443             x = JOptionPane.getFrameForComponent(parent).getSize();
     443            x = GuiHelper.getFrameForComponent(parent).getSize();
    444444        }
    445445        return x;
  • trunk/src/org/openstreetmap/josm/gui/HelpAwareOptionPane.java

    r9970 r10035  
    252252            final JOptionPane pane) {
    253253        final JDialog dialog = new JDialog(
    254                 JOptionPane.getFrameForComponent(parentComponent),
     254                GuiHelper.getFrameForComponent(parentComponent),
    255255                title,
    256256                ModalityType.DOCUMENT_MODAL
  • trunk/src/org/openstreetmap/josm/gui/PleaseWaitDialog.java

    r9543 r10035  
    1616import javax.swing.JDialog;
    1717import javax.swing.JLabel;
    18 import javax.swing.JOptionPane;
    1918import javax.swing.JPanel;
    2019import javax.swing.JProgressBar;
     
    2423import org.openstreetmap.josm.Main;
    2524import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor.ProgressMonitorDialog;
     25import org.openstreetmap.josm.gui.util.GuiHelper;
    2626import org.openstreetmap.josm.gui.widgets.JosmTextArea;
    2727import org.openstreetmap.josm.tools.GBC;
     
    9090     */
    9191    public PleaseWaitDialog(Component parent) {
    92         super(JOptionPane.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
     92        super(GuiHelper.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
    9393        initDialog();
    9494    }
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java

    r9473 r10035  
    218218     */
    219219    public CombinePrimitiveResolverDialog(Component parent) {
    220         super(JOptionPane.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
     220        super(GuiHelper.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
    221221        build();
    222222    }
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java

    r9849 r10035  
    2828import javax.swing.JDialog;
    2929import javax.swing.JLabel;
    30 import javax.swing.JOptionPane;
    3130import javax.swing.JPanel;
    3231import javax.swing.JTabbedPane;
     
    4039import org.openstreetmap.josm.gui.SideButton;
    4140import org.openstreetmap.josm.gui.tagging.TagTableColumnModelBuilder;
     41import org.openstreetmap.josm.gui.util.GuiHelper;
    4242import org.openstreetmap.josm.tools.ImageProvider;
    4343import org.openstreetmap.josm.tools.WindowGeometry;
     
    7373     */
    7474    public PasteTagsConflictResolverDialog(Component owner) {
    75         super(JOptionPane.getFrameForComponent(owner), ModalityType.DOCUMENT_MODAL);
     75        super(GuiHelper.getFrameForComponent(owner), ModalityType.DOCUMENT_MODAL);
    7676        build();
    7777        iconResolved = ImageProvider.get("dialogs/conflict", "tagconflictresolved");
  • trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictResolutionDialog.java

    r9543 r10035  
    3030import org.openstreetmap.josm.gui.help.HelpBrowser;
    3131import org.openstreetmap.josm.gui.help.HelpUtil;
     32import org.openstreetmap.josm.gui.util.GuiHelper;
    3233import org.openstreetmap.josm.tools.ImageProvider;
    3334import org.openstreetmap.josm.tools.WindowGeometry;
     
    134135     */
    135136    public ConflictResolutionDialog(Component parent) {
    136         super(JOptionPane.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
     137        super(GuiHelper.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
    137138        build();
    138139        pack();
  • trunk/src/org/openstreetmap/josm/gui/dialogs/DeleteFromRelationConfirmationDialog.java

    r9543 r10035  
    2222import javax.swing.AbstractAction;
    2323import javax.swing.JDialog;
    24 import javax.swing.JOptionPane;
    2524import javax.swing.JPanel;
    2625import javax.swing.JScrollPane;
     
    4140import org.openstreetmap.josm.gui.help.ContextSensitiveHelpAction;
    4241import org.openstreetmap.josm.gui.help.HelpUtil;
     42import org.openstreetmap.josm.gui.util.GuiHelper;
    4343import org.openstreetmap.josm.gui.widgets.HtmlPanel;
    4444import org.openstreetmap.josm.tools.I18n;
     
    132132     */
    133133    public DeleteFromRelationConfirmationDialog() {
    134         super(JOptionPane.getFrameForComponent(Main.parent), "", ModalityType.DOCUMENT_MODAL);
     134        super(GuiHelper.getFrameForComponent(Main.parent), "", ModalityType.DOCUMENT_MODAL);
    135135        build();
    136136    }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java

    r9833 r10035  
    4040import javax.swing.JLabel;
    4141import javax.swing.JMenu;
    42 import javax.swing.JOptionPane;
    4342import javax.swing.JPanel;
    4443import javax.swing.JPopupMenu;
     
    665664    private class DetachedDialog extends JDialog {
    666665        DetachedDialog() {
    667             super(JOptionPane.getFrameForComponent(Main.parent));
     666            super(GuiHelper.getFrameForComponent(Main.parent));
    668667            getContentPane().add(ToggleDialog.this);
    669668            addWindowListener(new WindowAdapter() {
  • trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java

    r9543 r10035  
    4141import org.openstreetmap.josm.gui.help.ContextSensitiveHelpAction;
    4242import org.openstreetmap.josm.gui.help.HelpUtil;
     43import org.openstreetmap.josm.gui.util.GuiHelper;
    4344import org.openstreetmap.josm.io.OnlineResource;
    4445import org.openstreetmap.josm.plugins.PluginHandler;
     
    229230     */
    230231    public DownloadDialog(Component parent, String helpTopic) {
    231         super(JOptionPane.getFrameForComponent(parent), tr("Download"), ModalityType.DOCUMENT_MODAL);
     232        super(GuiHelper.getFrameForComponent(parent), tr("Download"), ModalityType.DOCUMENT_MODAL);
    232233        HelpUtil.setHelpContext(getRootPane(), helpTopic);
    233234        getContentPane().setLayout(new BorderLayout());
  • trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserDialog.java

    r9602 r10035  
    1717import javax.swing.JDialog;
    1818import javax.swing.JLabel;
    19 import javax.swing.JOptionPane;
    2019import javax.swing.JPanel;
    2120import javax.swing.KeyStroke;
     
    2928import org.openstreetmap.josm.gui.help.ContextSensitiveHelpAction;
    3029import org.openstreetmap.josm.gui.help.HelpUtil;
     30import org.openstreetmap.josm.gui.util.GuiHelper;
    3131import org.openstreetmap.josm.tools.ImageProvider;
    3232
     
    4949     */
    5050    public HistoryBrowserDialog(History history) {
    51         super(JOptionPane.getFrameForComponent(Main.parent), false);
     51        super(GuiHelper.getFrameForComponent(Main.parent), false);
    5252        build();
    5353        setHistory(history);
  • trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java

    r9543 r10035  
    2222import javax.swing.JLabel;
    2323import javax.swing.JList;
    24 import javax.swing.JOptionPane;
    2524import javax.swing.JPanel;
    2625import javax.swing.JScrollPane;
     
    3231import org.openstreetmap.josm.data.osm.Changeset;
    3332import org.openstreetmap.josm.gui.SideButton;
     33import org.openstreetmap.josm.gui.util.GuiHelper;
    3434import org.openstreetmap.josm.tools.ImageProvider;
    3535import org.openstreetmap.josm.tools.InputMapUtils;
     
    111111     */
    112112    public CloseChangesetDialog() {
    113         super(JOptionPane.getFrameForComponent(Main.parent), ModalityType.DOCUMENT_MODAL);
     113        super(GuiHelper.getFrameForComponent(Main.parent), ModalityType.DOCUMENT_MODAL);
    114114        build();
    115115    }
  • trunk/src/org/openstreetmap/josm/gui/io/DownloadOpenChangesetsTask.java

    r9078 r10035  
    1818import org.openstreetmap.josm.gui.JosmUserIdentityManager;
    1919import org.openstreetmap.josm.gui.PleaseWaitRunnable;
     20import org.openstreetmap.josm.gui.util.GuiHelper;
    2021import org.openstreetmap.josm.io.ChangesetQuery;
    2122import org.openstreetmap.josm.io.OsmServerChangesetReader;
     
    5960        if (JosmUserIdentityManager.getInstance().isAnonymous()) {
    6061            JOptionPane.showMessageDialog(
    61                     JOptionPane.getFrameForComponent(parent),
     62                    GuiHelper.getFrameForComponent(parent),
    6263                    "<html>" + tr("Could not retrieve the list of your open changesets because<br>"
    6364                            + "JOSM does not know your identity.<br>"
  • trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java

    r9556 r10035  
    140140
    141141    public SaveLayersDialog(Component parent) {
    142         super(JOptionPane.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
     142        super(GuiHelper.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
    143143        build();
    144144    }
  • trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java

    r9759 r10035  
    5151import org.openstreetmap.josm.gui.help.ContextSensitiveHelpAction;
    5252import org.openstreetmap.josm.gui.help.HelpUtil;
     53import org.openstreetmap.josm.gui.util.GuiHelper;
    5354import org.openstreetmap.josm.io.OsmApi;
    5455import org.openstreetmap.josm.tools.GBC;
     
    101102     */
    102103    public UploadDialog() {
    103         super(JOptionPane.getFrameForComponent(Main.parent), ModalityType.DOCUMENT_MODAL);
     104        super(GuiHelper.getFrameForComponent(Main.parent), ModalityType.DOCUMENT_MODAL);
    104105        build();
    105106    }
  • trunk/src/org/openstreetmap/josm/gui/io/UploadSelectionDialog.java

    r9543 r10035  
    2424import javax.swing.JLabel;
    2525import javax.swing.JList;
    26 import javax.swing.JOptionPane;
    2726import javax.swing.JPanel;
    2827import javax.swing.JScrollPane;
     
    4140import org.openstreetmap.josm.gui.help.ContextSensitiveHelpAction;
    4241import org.openstreetmap.josm.gui.help.HelpUtil;
     42import org.openstreetmap.josm.gui.util.GuiHelper;
    4343import org.openstreetmap.josm.tools.ImageProvider;
    4444import org.openstreetmap.josm.tools.WindowGeometry;
     
    6161     */
    6262    public UploadSelectionDialog() {
    63         super(JOptionPane.getFrameForComponent(Main.parent), ModalityType.DOCUMENT_MODAL);
     63        super(GuiHelper.getFrameForComponent(Main.parent), ModalityType.DOCUMENT_MODAL);
    6464        build();
    6565    }
  • trunk/src/org/openstreetmap/josm/gui/oauth/OAuthAuthorizationWizard.java

    r9960 r10035  
    2929import javax.swing.JDialog;
    3030import javax.swing.JLabel;
    31 import javax.swing.JOptionPane;
    3231import javax.swing.JPanel;
    3332import javax.swing.JScrollPane;
     
    256255     */
    257256    public OAuthAuthorizationWizard(Component parent, String apiUrl, Executor executor) {
    258         super(JOptionPane.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
     257        super(GuiHelper.getFrameForComponent(parent), ModalityType.DOCUMENT_MODAL);
    259258        CheckParameterUtil.ensureParameterNotNull(apiUrl, "apiUrl");
    260259        this.apiUrl = apiUrl;
  • trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java

    r9576 r10035  
    2222import javax.swing.JComponent;
    2323import javax.swing.JDialog;
    24 import javax.swing.JOptionPane;
    2524import javax.swing.JPanel;
    2625import javax.swing.KeyStroke;
     
    7978
    8079    public PreferenceDialog(Component parent) {
    81         super(JOptionPane.getFrameForComponent(parent), tr("Preferences"), ModalityType.DOCUMENT_MODAL);
     80        super(GuiHelper.getFrameForComponent(parent), tr("Preferences"), ModalityType.DOCUMENT_MODAL);
    8281        build();
    8382        this.setMinimumSize(new Dimension(600, 350));
  • trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java

    r10024 r10035  
    904904                        .createFileChooser(true, null, Arrays.asList(ff, FileFilterAllFiles.getInstance()), ff, JFileChooser.FILES_ONLY);
    905905                prepareFileChooser(tfURL.getText(), fcm.getFileChooser());
    906                 AbstractFileChooser fc = fcm.openFileChooser(JOptionPane.getFrameForComponent(SourceEditor.this));
     906                AbstractFileChooser fc = fcm.openFileChooser(GuiHelper.getFrameForComponent(SourceEditor.this));
    907907                if (fc != null) {
    908908                    tfURL.setText(fc.getSelectedFile().toString());
     
    16341634                }
    16351635                prepareFileChooser(tfFileName.getText(), fcm.getFileChooser());
    1636                 AbstractFileChooser fc = fcm.openFileChooser(JOptionPane.getFrameForComponent(SourceEditor.this));
     1636                AbstractFileChooser fc = fcm.openFileChooser(GuiHelper.getFrameForComponent(SourceEditor.this));
    16371637                if (fc != null) {
    16381638                    tfFileName.setText(fc.getSelectedFile().toString());
  • trunk/src/org/openstreetmap/josm/gui/preferences/advanced/PreferencesTable.java

    r9759 r10035  
    105105        final PrefEntry e = (PrefEntry) model.getValueAt(getSelectedRow(), 1);
    106106        Setting<?> stg = e.getValue();
     107        boolean ok = false;
    107108        if (stg instanceof StringSetting) {
    108109            editCellAt(getSelectedRow(), 1);
     
    112113            }
    113114        } else if (stg instanceof ListSetting) {
    114             ListSetting lSetting = (ListSetting) stg;
    115             ListEditor lEditor = new ListEditor(gui, e, lSetting);
    116             lEditor.showDialog();
    117             if (lEditor.getValue() == 1) {
    118                 List<String> data = lEditor.getData();
    119                 if (!lSetting.equalVal(data)) {
    120                     e.setValue(new ListSetting(data));
    121                     return true;
    122                 }
    123             }
     115            ok = doEditList(gui, e, (ListSetting) stg);
    124116        } else if (stg instanceof ListListSetting) {
    125             ListListSetting llSetting = (ListListSetting) stg;
    126             ListListEditor llEditor = new ListListEditor(gui, e, llSetting);
    127             llEditor.showDialog();
    128             if (llEditor.getValue() == 1) {
    129                 List<List<String>> data = llEditor.getData();
    130                 if (!llSetting.equalVal(data)) {
    131                     e.setValue(new ListListSetting(data));
    132                     return true;
    133                 }
    134             }
     117            ok = doEditListList(gui, e, (ListListSetting) stg);
    135118        } else if (stg instanceof MapListSetting) {
    136             MapListSetting mlSetting = (MapListSetting) stg;
    137             MapListEditor mlEditor = new MapListEditor(gui, e, mlSetting);
    138             mlEditor.showDialog();
    139             if (mlEditor.getValue() == 1) {
    140                 List<Map<String, String>> data = mlEditor.getData();
    141                 if (!mlSetting.equalVal(data)) {
    142                     e.setValue(new MapListSetting(data));
    143                     return true;
    144                 }
     119            ok = doEditMapList(gui, e, (MapListSetting) stg);
     120        }
     121        return ok;
     122    }
     123
     124    static boolean doEditList(final JComponent gui, final PrefEntry e, ListSetting lSetting) {
     125        ListEditor lEditor = new ListEditor(gui, e, lSetting);
     126        lEditor.showDialog();
     127        if (lEditor.getValue() == 1) {
     128            List<String> data = lEditor.getData();
     129            if (!lSetting.equalVal(data)) {
     130                e.setValue(new ListSetting(data));
     131                return true;
     132            }
     133        }
     134        return false;
     135    }
     136
     137    static boolean doEditListList(final JComponent gui, final PrefEntry e, ListListSetting llSetting) {
     138        ListListEditor llEditor = new ListListEditor(gui, e, llSetting);
     139        llEditor.showDialog();
     140        if (llEditor.getValue() == 1) {
     141            List<List<String>> data = llEditor.getData();
     142            if (!llSetting.equalVal(data)) {
     143                e.setValue(new ListListSetting(data));
     144                return true;
     145            }
     146        }
     147        return false;
     148    }
     149
     150    static boolean doEditMapList(final JComponent gui, final PrefEntry e, MapListSetting mlSetting) {
     151        MapListEditor mlEditor = new MapListEditor(gui, e, mlSetting);
     152        mlEditor.showDialog();
     153        if (mlEditor.getValue() == 1) {
     154            List<Map<String, String>> data = mlEditor.getData();
     155            if (!mlSetting.equalVal(data)) {
     156                e.setValue(new MapListSetting(data));
     157                return true;
    145158            }
    146159        }
     
    190203                StringSetting sSetting = new StringSetting(null);
    191204                pe = new PrefEntry(tkey.getText(), sSetting, sSetting, false);
    192                 StringEditor sEditor = new StringEditor(gui, pe, sSetting);
    193                 sEditor.showDialog();
    194                 if (sEditor.getValue() == 1) {
    195                     String data = sEditor.getData();
    196                     if (!Objects.equals(sSetting.getValue(), data)) {
    197                         pe.setValue(new StringSetting(data));
    198                         ok = true;
    199                     }
    200                 }
     205                ok = doAddSimple(gui, pe, sSetting);
    201206            } else if (rbList.isSelected()) {
    202207                ListSetting lSetting = new ListSetting(null);
    203208                pe = new PrefEntry(tkey.getText(), lSetting, lSetting, false);
    204                 ListEditor lEditor = new ListEditor(gui, pe, lSetting);
    205                 lEditor.showDialog();
    206                 if (lEditor.getValue() == 1) {
    207                     List<String> data = lEditor.getData();
    208                     if (!lSetting.equalVal(data)) {
    209                         pe.setValue(new ListSetting(data));
    210                         ok = true;
    211                     }
    212                 }
     209                ok = doAddList(gui, pe, lSetting);
    213210            } else if (rbListList.isSelected()) {
    214211                ListListSetting llSetting = new ListListSetting(null);
    215212                pe = new PrefEntry(tkey.getText(), llSetting, llSetting, false);
    216                 ListListEditor llEditor = new ListListEditor(gui, pe, llSetting);
    217                 llEditor.showDialog();
    218                 if (llEditor.getValue() == 1) {
    219                     List<List<String>> data = llEditor.getData();
    220                     if (!llSetting.equalVal(data)) {
    221                         pe.setValue(new ListListSetting(data));
    222                         ok = true;
    223                     }
    224                 }
     213                ok = doAddListList(gui, pe, llSetting);
    225214            } else if (rbMapList.isSelected()) {
    226215                MapListSetting mlSetting = new MapListSetting(null);
    227216                pe = new PrefEntry(tkey.getText(), mlSetting, mlSetting, false);
    228                 MapListEditor mlEditor = new MapListEditor(gui, pe, mlSetting);
    229                 mlEditor.showDialog();
    230                 if (mlEditor.getValue() == 1) {
    231                     List<Map<String, String>> data = mlEditor.getData();
    232                     if (!mlSetting.equalVal(data)) {
    233                         pe.setValue(new MapListSetting(data));
    234                         ok = true;
    235                     }
    236                 }
    237             }
    238         }
    239         if (ok)
    240             return pe;
    241         else
    242             return null;
     217                ok = doAddMapList(gui, pe, mlSetting);
     218            }
     219        }
     220        return ok ? pe : null;
     221    }
     222
     223    static boolean doAddSimple(final JComponent gui, PrefEntry pe, StringSetting sSetting) {
     224        StringEditor sEditor = new StringEditor(gui, pe, sSetting);
     225        sEditor.showDialog();
     226        if (sEditor.getValue() == 1) {
     227            String data = sEditor.getData();
     228            if (!Objects.equals(sSetting.getValue(), data)) {
     229                pe.setValue(new StringSetting(data));
     230                return true;
     231            }
     232        }
     233        return false;
     234    }
     235
     236    static boolean doAddList(final JComponent gui, PrefEntry pe, ListSetting lSetting) {
     237        ListEditor lEditor = new ListEditor(gui, pe, lSetting);
     238        lEditor.showDialog();
     239        if (lEditor.getValue() == 1) {
     240            List<String> data = lEditor.getData();
     241            if (!lSetting.equalVal(data)) {
     242                pe.setValue(new ListSetting(data));
     243                return true;
     244            }
     245        }
     246        return false;
     247    }
     248
     249    static boolean doAddListList(final JComponent gui, PrefEntry pe, ListListSetting llSetting) {
     250        ListListEditor llEditor = new ListListEditor(gui, pe, llSetting);
     251        llEditor.showDialog();
     252        if (llEditor.getValue() == 1) {
     253            List<List<String>> data = llEditor.getData();
     254            if (!llSetting.equalVal(data)) {
     255                pe.setValue(new ListListSetting(data));
     256                return true;
     257            }
     258        }
     259        return false;
     260    }
     261
     262    static boolean doAddMapList(final JComponent gui, PrefEntry pe, MapListSetting mlSetting) {
     263        MapListEditor mlEditor = new MapListEditor(gui, pe, mlSetting);
     264        mlEditor.showDialog();
     265        if (mlEditor.getValue() == 1) {
     266            List<Map<String, String>> data = mlEditor.getData();
     267            if (!mlSetting.equalVal(data)) {
     268                pe.setValue(new MapListSetting(data));
     269                return true;
     270            }
     271        }
     272        return false;
    243273    }
    244274
  • trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginPreference.java

    r9621 r10035  
    543543                public void actionPerformed(ActionEvent e) {
    544544                    String s = JOptionPane.showInputDialog(
    545                             JOptionPane.getFrameForComponent(PluginConfigurationSitesPanel.this),
     545                            GuiHelper.getFrameForComponent(PluginConfigurationSitesPanel.this),
    546546                            tr("Add JOSM Plugin description URL."),
    547547                            tr("Enter URL"),
     
    558558                    if (list.getSelectedValue() == null) {
    559559                        JOptionPane.showMessageDialog(
    560                                 JOptionPane.getFrameForComponent(PluginConfigurationSitesPanel.this),
     560                                GuiHelper.getFrameForComponent(PluginConfigurationSitesPanel.this),
    561561                                tr("Please select an entry."),
    562562                                tr("Warning"),
     
    584584                    if (list.getSelectedValue() == null) {
    585585                        JOptionPane.showMessageDialog(
    586                                 JOptionPane.getFrameForComponent(PluginConfigurationSitesPanel.this),
     586                                GuiHelper.getFrameForComponent(PluginConfigurationSitesPanel.this),
    587587                                tr("Please select an entry."),
    588588                                tr("Warning"),
  • trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java

    r9231 r10035  
    1010import java.awt.event.WindowListener;
    1111
    12 import javax.swing.JOptionPane;
    1312import javax.swing.SwingUtilities;
    1413
     
    1716import org.openstreetmap.josm.gui.MapStatus.BackgroundProgressMonitor;
    1817import org.openstreetmap.josm.gui.PleaseWaitDialog;
     18import org.openstreetmap.josm.gui.util.GuiHelper;
    1919
    2020public class PleaseWaitProgressMonitor extends AbstractProgressMonitor {
     
    124124            this.dialogParent = dialogParent;
    125125        } else {
    126             this.dialogParent = JOptionPane.getFrameForComponent(dialogParent);
     126            this.dialogParent = GuiHelper.getFrameForComponent(dialogParent);
    127127        }
    128128        this.cancelable = true;
     
    135135     */
    136136    public PleaseWaitProgressMonitor(Component dialogParent, String windowTitle) {
    137         this(JOptionPane.getFrameForComponent(dialogParent));
     137        this(GuiHelper.getFrameForComponent(dialogParent));
    138138        this.windowTitle = windowTitle;
    139139    }
  • trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java

    r10024 r10035  
    1212import java.awt.DisplayMode;
    1313import java.awt.Font;
     14import java.awt.Frame;
    1415import java.awt.GraphicsDevice;
    1516import java.awt.GraphicsEnvironment;
     
    509510        });
    510511    }
     512
     513    /**
     514     * Returns the specified component's <code>Frame</code> without throwing exception in headless mode.
     515     *
     516     * @param parentComponent the <code>Component</code> to check for a <code>Frame</code>
     517     * @return the <code>Frame</code> that contains the component, or <code>getRootFrame</code>
     518     *         if the component is <code>null</code>, or does not have a valid <code>Frame</code> parent
     519     * @see JOptionPane#getFrameForComponent
     520     * @see GraphicsEnvironment#isHeadless
     521     * @since 10035
     522     */
     523    public static Frame getFrameForComponent(Component parentComponent) {
     524        if (parentComponent == null && GraphicsEnvironment.isHeadless()) {
     525            return null;
     526        }
     527        return JOptionPane.getFrameForComponent(parentComponent);
     528    }
    511529}
Note: See TracChangeset for help on using the changeset viewer.