This is reproducable on Windows platform, with 6.0 and 7.
I've a FileDialog having a Frame as owner. When frame.setVisible(true) is called when both the FileDialog and the frame is visible, frame appears above the FileDialog. This happens only when setModal(false) is explicitly called on the FileDialog
To reproduce:
Run the attached test - it will display and Frame and a child FileDialog. Wait for 5 seconds for the setVisible(true) to be called on the frame. If the frame comes above the FileDialog, bug is reproduced
import java.awt.*;
public class Test {
public static void main(String[] args) {
Frame f = new Frame();
f.setSize(200, 200);
f.setVisible(true);
FileDialog fd = new FileDialog(f);
fd.setModal(false);
fd.setVisible(true);
try { Thread.sleep(5000); } catch (Exception e) {}
f.setVisible(true);
}
}