eclipse-windowbuilder / eclipse-windowbuilder/windowbuilder

JDialog override dispose() causes hang

オープン
#753 コメント 7 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug help wanted macOS
主要言語
Java
スター
97
フォーク
34
平均マージ
21時間 38分
マージ済み PR(30日)
29

説明

Once again, I bring you JDialog issues:

public class Test extends JDialog {

public Test() {
super(new JFrame());
final JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(e -> {
dispose();
});
getContentPane().add(btnNewButton, BorderLayout.SOUTH);
setVisible(true);
}

@Override
public final void dispose() {
super.dispose();
}
}

If you remove the override method, it works. If you include, it hangs.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、提供されたTestクラスを実行し、JButtonのアクションリスナーがdispose()を呼び出したときにハングする現象を再現します。JDialogのdispose()オーバーライドがある場合とない場合の動作を比較し、その後、関連するWindowBuilderまたはSwingの統合エントリポイントを追跡します。オーバーライドによってダイアログを閉じる際にハングしなくなり、提供されたケースのリグレッションカバレッジが確保されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
desktop
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
明確に書かれている
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。