问答题

以下程序中,当用户单击“移动”按钮以后,就可以使用方向键控制屏幕上句子的移动,单击“停止”按钮,则句子不再随着方向键移动。运行结果如下图所示
注意:请勿改动其他已有语句内容,仅在横线处填入适当语句。 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>

【参考答案】

init addKeyListener[解析] 本题考查知识点:小应用程序概念、Applet执行过程、JavaAppli......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)