From 5b5c866a694a2a8cf334d9a29169ba5bb4327861 Mon Sep 17 00:00:00 2001 From: gered Date: Wed, 20 Jun 2018 20:38:56 -0400 Subject: [PATCH] fix some dialog weirdness instantiate all JDialog instances with proper parent component set. this seems to make the ModalityType.APPLICATION_MODAL behave a bit better on newer JDK versions. --- .../java/org/fenix/WorldRecord/RecordDialog.java | 1 + .../java/org/fenix/llanfair/dialog/EditRun.java | 2 +- .../org/fenix/llanfair/dialog/EditSettings.java | 1 + .../org/fenix/llanfair/dialog/LlanfairDialog.java | 14 ++++++++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/fenix/WorldRecord/RecordDialog.java b/src/main/java/org/fenix/WorldRecord/RecordDialog.java index 1c92da2..68d8322 100644 --- a/src/main/java/org/fenix/WorldRecord/RecordDialog.java +++ b/src/main/java/org/fenix/WorldRecord/RecordDialog.java @@ -44,6 +44,7 @@ public class RecordDialog extends LlanfairDialog public RecordDialog(EditRun editRun, Llanfair master) { + super(editRun); this.master = master; this.editRun = editRun; diff --git a/src/main/java/org/fenix/llanfair/dialog/EditRun.java b/src/main/java/org/fenix/llanfair/dialog/EditRun.java index 8baab08..728e14f 100644 --- a/src/main/java/org/fenix/llanfair/dialog/EditRun.java +++ b/src/main/java/org/fenix/llanfair/dialog/EditRun.java @@ -129,7 +129,7 @@ implements ActionListener, ListSelectionListener { * @param run - la course a éditer. */ public EditRun(Run run, Llanfair master) { - super(); + super(master); if (run == null) { throw new NullPointerException("EditDialog.EditDialog(): null run"); } diff --git a/src/main/java/org/fenix/llanfair/dialog/EditSettings.java b/src/main/java/org/fenix/llanfair/dialog/EditSettings.java index 1f0df00..bce876d 100644 --- a/src/main/java/org/fenix/llanfair/dialog/EditSettings.java +++ b/src/main/java/org/fenix/llanfair/dialog/EditSettings.java @@ -44,6 +44,7 @@ public class EditSettings extends LlanfairDialog * Construction d’une boîte de dialogue d’édition de paramètres. */ public EditSettings(Llanfair master) { + super(master); this.master = master; settingsTabs = new ArrayList(); diff --git a/src/main/java/org/fenix/llanfair/dialog/LlanfairDialog.java b/src/main/java/org/fenix/llanfair/dialog/LlanfairDialog.java index fd985f9..f05beac 100644 --- a/src/main/java/org/fenix/llanfair/dialog/LlanfairDialog.java +++ b/src/main/java/org/fenix/llanfair/dialog/LlanfairDialog.java @@ -3,6 +3,7 @@ package org.fenix.llanfair.dialog; import org.fenix.llanfair.Llanfair; import javax.swing.*; +import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -16,6 +17,18 @@ public class LlanfairDialog extends JDialog { // ATTRIBUTS + public LlanfairDialog() { + super(); + } + + public LlanfairDialog(Frame owner) { + super(owner); + } + + public LlanfairDialog(JDialog owner) { + super(owner); + } + public void display(boolean lockNativeInputs, final Llanfair llanfair) { if (lockNativeInputs) { llanfair.setIgnoreNativeInputs(true); @@ -27,6 +40,7 @@ public class LlanfairDialog extends JDialog { } setAlwaysOnTop(true); setModalityType(ModalityType.APPLICATION_MODAL); + setAutoRequestFocus(true); pack(); setLocationRelativeTo(getOwner()); setVisible(true);