eclipse-windowbuilder / eclipse-windowbuilder/windowbuilder

JDialog override dispose() causes hang

Open
#753 7 comments 0 reactions 0 assignees View on GitHub
bug help wanted macOS
Dominant language
Java
Stars
97
Forks
34
Avg merge
21h 38m
Merged PRs (30d)
29

Description

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.

Contributor guide

Open the contributing guide

Research direction

Start by running the supplied Test class and reproducing the hang from the JButton action listener when it calls dispose(). Compare the behavior with and without the JDialog dispose() override, then trace the relevant WindowBuilder or Swing integration entry point. Done means the override no longer hangs while closing the dialog, with regression coverage for the supplied case.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.