以下程序中,当用户单击“移动”按钮以后,就可以使用方向键控制屏幕上句子的移动,单击“停止”按钮,则句子不再随着方向键移动。运行结果如下图所示
![](https://img.ixiawen.com/uploadfile/2017/0204/20170204072710338.gif)
注意:请勿改动其他已有语句内容,仅在横线处填入适当语句。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Example2_8 extends Applet implements KeyListener
public void keyTyped(KeyEvent e)
public void keyReleased(KeyEvent e)
Button button;
Button stopButton;
Label out;
int x,y;
public void _______ ()
button = new Button("移动");
button.addActionListener(new AddMoveListener(this));
stopButton = new Button("停止移动");
stopButton.addActionListener(new RemoveListener(this));
stopButton.setEnabled(false);
out = new nabel("按下按钮以后我可以随方向键移动");
add(button);
add(stopButton);
add (out);
public void start()
super, start ();
public void keyPressed(KeyEvent e)
x=out.getBounds().x;
y=out.getBounds().y;
if(e.getKeyCode()==KeyEvent.VK_UP)
y=y-2;
if(y<=0) y=0;
out. setLocation (x, y);
else if(e.getKeyCode()==KeyEvent.VK_DOWN)
y=y+2;
if (y>=300) y=300;
out. setLocation (x, y);
else if(e.getKeyCode()==KeyEvent.VK_LEFT)
x=x-2;
if(x<=0) x=0;
out. setLocation (x, y);
else if(e.getKeyCode()==KeyEvent.VK_RiGHT)
x=x+2;
if(x>=300) x=300;
out. setLocation (x, y);
class AddMoveListener implements ActionListener
Example2_8 lis;
public AddMoveListener(Example2_8 lis)
this.lis = lis;
public void actionPerformed(ActionEvent e)
button. _________(lis);
stopButton, setEnabled (true);
class RemoveListener implements ActionListener
Example2_8 lis;
public RemoveListener(Example2_8 lis)
this.lis = lis;
public void actionPerformed(ActionEvent e)
button, removeKeyListener (lis);
stopButton.setEnabled(false);
Example2_8. html
<HTML>
<HEAD>
<TITLE> Example2_8</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Example2_8.class"WIDTH=400 HEIGHT=500>
</APPLET>
</BODY>
</HTML>