Dialog owner issue with Mac OS X 10.4
Hi,
I am trying this sample applet on 2 different Mac OS X's
1) Mac OS X 10.3.9
Safari 1.3.2 (v312.6)
JVM - 1.4.2_09
Here whenever the Browser, running the Applet comes on Top, the
Dialog also comes on Top i.e. if the dialog is hidden behind some window
& I click on the browser running the applet, the Dialog(showing "Hello",
"OK")
also becomes uncovered/visible.
2) Mac OS X 10.4.5
Safari 2.0.3 (v417.8)
JVM - 1.4.2_09
Here clicking on the Browser doesn't make the Dialog Visible.
As per the Java Docs, I think the Behaviour on OS X 10.3.9 is the
correct behaviour.
Is there a way to have that behaviour on OS X 10.4 - any workarounds,
anything I can do so that the dialog doesn't get hidden.
I cannot make the dialog modal.
Given below is the Applet source.
------------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class MyTest extends Applet implements ActionListener {
private Button b;
private Dialog myDialog;
public void init() {
b = new Button("Press me");
b.addActionListener(this);
add(b);
show();
}
private Frame findFrame(Component c) {
for (; c != null; c = c.getParent()) {
if (c instanceof Frame) return (Frame) c;
}
return null;
}
public void actionPerformed(ActionEvent e) {
if ( e.getSource() == b ) {
showDlg();
}
}
public void showDlg()
{
if(myDialog == null) {
// Set The Applet as owner
Frame f = findFrame(this);
if(f != null) {
System.out.println("Found Frame");
myDialog = new Dialog(f, false);
myDialog.add(new Label("Hello ") , BorderLayout.NORTH);
myDialog.add(new Button("OK"), BorderLayout.SOUTH);
myDialog.pack();
myDialog.show();
}
}
}
}
------------------------------------------------------------------