From: Olyutorskii Date: Wed, 29 Apr 2020 12:19:05 +0000 (+0900) Subject: remove parent window from lockerror pane. X-Git-Tag: release-4.101.4^2~36 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ca32718e1a03b263fa79db991c5cf5c25e47a628;p=jindolf%2FJindolf.git remove parent window from lockerror pane. --- diff --git a/src/main/java/jp/sfjp/jindolf/config/ConfigFile.java b/src/main/java/jp/sfjp/jindolf/config/ConfigFile.java index 35efc47..170a312 100644 --- a/src/main/java/jp/sfjp/jindolf/config/ConfigFile.java +++ b/src/main/java/jp/sfjp/jindolf/config/ConfigFile.java @@ -254,7 +254,7 @@ public final class ConfigFile{ * @param pane ダイアログの元となるペイン */ private static void showDialog(JOptionPane pane){ - JDialog dialog = pane.createDialog(null, TITLE_BUILDCONF); + JDialog dialog = pane.createDialog(TITLE_BUILDCONF); dialog.setResizable(true); dialog.pack(); @@ -512,7 +512,7 @@ public final class ConfigFile{ */ public static void confirmLockError(InterVMLock lock){ LockErrorPane pane = new LockErrorPane(lock); - JDialog dialog = pane.createDialog(null, TITLE_BUILDCONF); + JDialog dialog = pane.createDialog(TITLE_BUILDCONF); dialog.setResizable(true); dialog.pack(); diff --git a/src/main/java/jp/sfjp/jindolf/view/LockErrorPane.java b/src/main/java/jp/sfjp/jindolf/view/LockErrorPane.java index f1ff5cf..e07df30 100644 --- a/src/main/java/jp/sfjp/jindolf/view/LockErrorPane.java +++ b/src/main/java/jp/sfjp/jindolf/view/LockErrorPane.java @@ -9,8 +9,6 @@ package jp.sfjp.jindolf.view; import java.awt.Component; import java.awt.HeadlessException; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JDialog; @@ -21,16 +19,18 @@ import jp.sfjp.jindolf.config.InterVMLock; /** * ロックエラー用ダイアログ。 + * * - * の選択を利用者に求める。 + * + *

の選択を利用者に求める。 */ @SuppressWarnings("serial") -public class LockErrorPane extends JOptionPane implements ActionListener{ +public final class LockErrorPane extends JOptionPane{ private final InterVMLock lock; @@ -52,6 +52,7 @@ public class LockErrorPane extends JOptionPane implements ActionListener{ /** * コンストラクタ。 + * * @param lock 失敗したロック */ @SuppressWarnings("LeakingThisInConstructor") @@ -99,14 +100,20 @@ public class LockErrorPane extends JOptionPane implements ActionListener{ setMessageType(JOptionPane.ERROR_MESSAGE); - this.okButton .addActionListener(this); - this.abortButton.addActionListener(this); + this.okButton.addActionListener(ev -> { + this.aborted = false; + }); + + this.abortButton.addActionListener(ev -> { + this.aborted = true; + }); return; } /** * 「設定ディレクトリを無視して続行」が選択されたか判定する。 + * * @return 「無視して続行」が選択されていればtrue */ public boolean isRadioContinue(){ @@ -115,6 +122,7 @@ public class LockErrorPane extends JOptionPane implements ActionListener{ /** * 「リトライ」が選択されたか判定する。 + * * @return 「リトライ」が選択されていればtrue */ public boolean isRadioRetry(){ @@ -123,6 +131,7 @@ public class LockErrorPane extends JOptionPane implements ActionListener{ /** * 「強制解除」が選択されたか判定する。 + * * @return 「強制解除」が選択されていればtrue */ public boolean isRadioForce(){ @@ -131,6 +140,7 @@ public class LockErrorPane extends JOptionPane implements ActionListener{ /** * 「起動中止」が選択されたか判定する。 + * * @return 「起動中止」が押されていたならtrue */ public boolean isAborted(){ @@ -139,6 +149,22 @@ public class LockErrorPane extends JOptionPane implements ActionListener{ /** * {@inheritDoc} + * + * @param title {@inheritDoc} + * @return {@inheritDoc} + * @throws HeadlessException {@inheritDoc} + */ + @Override + public JDialog createDialog(String title) + throws HeadlessException{ + JDialog dialog = super.createDialog(title); + setHideListener(dialog); + return dialog; + } + + /** + * {@inheritDoc} + * * @param parentComponent {@inheritDoc} * @param title {@inheritDoc} * @return {@inheritDoc} @@ -146,34 +172,27 @@ public class LockErrorPane extends JOptionPane implements ActionListener{ */ @Override public JDialog createDialog(Component parentComponent, - String title) + String title) throws HeadlessException{ - final JDialog dialog = - super.createDialog(parentComponent, title); - - ActionListener listener = new ActionListener(){ - @Override - public void actionPerformed(ActionEvent event){ - dialog.setVisible(false); - return; - } - }; - - this.okButton .addActionListener(listener); - this.abortButton.addActionListener(listener); - + JDialog dialog = super.createDialog(parentComponent, title); + setHideListener(dialog); return dialog; } /** - * ボタン押下を受信する。 - * @param event イベント + * set closing dialog action listener to buttons. + * + * @param dialog dialog */ - @Override - public void actionPerformed(ActionEvent event){ - Object source = event.getSource(); - if(source == this.okButton) this.aborted = false; - else this.aborted = true; + private void setHideListener(JDialog dialog){ + this.okButton.addActionListener(ev -> { + dialog.setVisible(false); + }); + + this.abortButton.addActionListener(ev -> { + dialog.setVisible(false); + }); + return; }