-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
1.1.6
-
x86
-
windows_95
Name: paC48320 Date: 05/11/98
Java program that triggers mouseEntered() and mouseExited() method invocation
by its setVisible() and setBounds() invocation causes Windows exception.
This does not occur in Solaris environment.
Following instruction and code demonstrates the problem.
1.Run the java program.
e:\test java TestW
2.Move the mouse to the center of the window, i.e. within the black box.
3.Windows error dialog will be displayed.
In Windows 95, sometimes the machine itself crushes. In Windows 98,
it always causes machine crush rather than a windows error dialog.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class TestW extends Applet implements MouseListener
{
Window wi = null;
public static void main(String[] args)
{
Frame f = new Frame("TestW");
TestW tw = new TestW();
tw.init();
f.setLayout(new GridLayout(1,1));
f.add(tw);
f.setVisible(true);
f.setSize(f.getPreferredSize());
}
public Dimension getPreferredSize(){
return new Dimension(100,100);
}
public void init(){
addMouseListener(this);
}
public void mouseEntered(MouseEvent e){
Component parent = getParent();
Frame frame = null;
while (parent != null){
if(parent instanceof Frame){
frame = (Frame)parent;
break;
}
parent = parent.getParent();
}
if(frame!=null){
wi = new Window(frame);
wi.setBackground(Color.black);
Point r = getLocationOnScreen();
wi.setVisible(true);
wi.setBounds(r.x+25,r.y+25,50,50);
}
}
public void mouseExited(MouseEvent e){
if(wi!=null){
wi.setVisible(false);
wi.dispose();
wi=null;
}
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
}
(Review ID: 30054)
======================================================================
- duplicates
-
JDK-4051487 Win95/NT invalid page fault crash
- Closed