小学五年级作文启示:java程序不能响应鼠标事件

来源:百度文库 编辑:中科新闻网 时间:2024/05/13 04:04:05
以下是可编译代码:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

class ZoomButton extends Component
{
public ZoomButton()
{
setSize(700, 700);
addMouseListener( new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
System.out.println("鼠标键按下了,位置是:"+e.getX()+","+e.getY());
}
public synchronized void mouseReleased(MouseEvent e)
{
System.out.println("鼠标释放了");
}
} );
}
}

public class Test extends Applet
{

ZoomButton Button1;
public void init()
{
Button1 = new ZoomButton();
Button1.setLocation(0,0); //设置状态按钮的位置
add(Button1);
Button1.setBounds(0,0,700,700);
}
}
在浏览器上点击applet窗口不能响应鼠标事件。
为方便大众,再贴上可在浏览器运行的html代码:
<HTML>
<HEAD>
<TITLE>Test Example1</TITLE>
</HEAD>
<BODY>
<H1>Test</H1>
<HR>
<P>
<APPLET CODE="Test.class" WIDTH="768" HEIGHT="900">
</APPLET>
</P>
<HR>
</BODY>
</HTML>

程序基本正确:Button1 没有正确显示;setSize、setBounds没有用?
下面程序可在Applet上边响应鼠标?

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

class ZoomButton extends Component
{
public ZoomButton()
{
setSize(700, 700);
addMouseListener( new MouseAdapter()
{
public void mouseEntered(MouseEvent e)
{
System.out.println("enter");
}
public void mousePressed(MouseEvent e)
{
System.out.println("鼠标键按下了,位置是:"+e.getX()+","+e.getY());
}
public synchronized void mouseReleased(MouseEvent e)
{
System.out.println("鼠标释放了");
}
} );
}
}

public class Test extends Applet
{

ZoomButton Button1;
public void init()
{
setLayout(new BorderLayout(10,10));
Button1 = new ZoomButton();
Button1.setLocation(0,0); //设置状态按钮的位置
add(Button1,"North");
Button1.setBounds(0,0,700,700);
}
}