簡體   English   中英

Java KeyListener在applet中不起作用

[英]Java KeyListener is not working in applet

誰能告訴我這是怎么回事? 我正在嘗試使正方形上下移動。 當我運行小程序時,會在正確的位置創建正方形,但是當我按下UP鍵或DOWN鍵時,什么也沒有發生。

    package pong;

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class pong extends Applet implements KeyListener
{
    private Rectangle rect = null;
    private int key = 0;

    public void init()
    {
        rect = new Rectangle(0,0,10,10);    
        addKeyListener(this);
    }

    public void paint(Graphics g)
    {
        setSize(200,200);
        Graphics2D g2 = (Graphics2D)g;
        g2.fill(rect);
    }

    @Override
    public void keyPressed(KeyEvent e) 
    {
        key = e.getKeyCode();
    }

    public void update()
    {
        if(key == KeyEvent.VK_UP)
        {
            rect.setLocation(rect.x, rect.y - 2);
        }
        else if(key == KeyEvent.VK_DOWN)
        {
            rect.setLocation(rect.x, rect.y + 2);
        }
    }

    @Override
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub

    }

}

您需要在keyPressed時調用更新方法

 @Override
    public void keyPressed(KeyEvent e) 
    {
        key = e.getKeyCode();
           update();

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM