JDK-6424564 : Browser window is not blocked by the modal dialog
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 5.0u7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2006-05-11
  • Updated: 2010-08-06
  • Resolved: 2007-01-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0u12 b01Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
a. Run the applet below 
b. press "call dialog" button. This creates a modal dialog and a new browser window.

Expected behavior: the new browser window should be completely blocked by the modal dialog
Actual behavior: The new IE window is not blocked, the IE menu is active

TC05-01_Top.html
----------------
<APPLET CODE="SampleApplet.class" WIDTH=300 HEIGHT=220>
  <PARAM NAME="PAGE" VALUE="TC05-01_Top.html">
</APPLET>

SampleApplet.java
-----------------
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.net.URL;

public class SampleApplet extends JApplet{
    private JButton jButton1 = new JButton();

    public SampleApplet() {
    }

    public void init() {
        try {
            jbInit();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        jButton1.setBounds(new Rectangle(56, 98, 135, 38));
        jButton1.setText("Call Dialog");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(ActionEvent e) {
                jButton1_actionPerformed(e);
            }
        });
        this.getContentPane().setLayout(null);
        this.setSize(new Dimension(400,300));
        this.getContentPane().add(jButton1, null);
    }

    public void start() {
    }

    public void stop() {
    }

    public void destroy() {
    }

    void jButton1_actionPerformed(ActionEvent e) {
        String strOption[] = new String[2];
        strOption[0] = "OK";
        strOption[1] = "Cancel";
		(new ThreadX(this)).start();        
       	
        JOptionPane.showOptionDialog(this, "Hello", "Hello", JOptionPane.DEFAULT_OPTION, 
JOptionPane.PLAIN_MESSAGE, null, strOption, strOption[0]);
    }

    class ThreadX extends Thread{
  
        SampleApplet jap = null;

        ThreadX(SampleApplet jap){
			this.jap = jap;
 		}

  		public void run(){
	        try {
            	Thread.sleep(1000);

   		        this.jap.getAppletContext().showDocument(new URL(this.jap.getCodeBase()+this.jap.getParameter("PAGE")), "_blank");
	        }
   		    catch (Exception ex) {
       		    ex.printStackTrace();
        	}
		}
	}
}

Comments
EVALUATION Please refer to the evaluation for 6417341.
23-06-2006