Task 1
To receive the key events, add the applet itself as an KeyListener
target. That is, the applet should implement this interface.
To the class definition, add:
implements KeyListener
In the init() method, add:
addKeyListener(this);
This means that the current object is functioning as the listener, that is, the
target, for all key events distributed by the source, in this case, the applet
itself. Thus, this object, that is, the applet, must define the method(s)
specified in the KeyListener interface.
Task 2
Define the keyPressed() method so that it calls increaseCount()
to update the count instance variable and repaint() to display the
current count in the applet window.
public void keyPressed(KeyEvent e) {
increaseCount();
repaint();
}
Do not call paint() directly; instead, use repaint(),
which indirectly calls paint(). paint() is already
defined.
By the way, the difference between the methods is that keyPressed()
is called when a key is pressed (any key including modifiers such as Shift);
keyReleased() is called when a key is released; and keyTyped()
reports a higher level interpretation of keys. For example, if you press Shift,
then "The A Key", and then release both, keyPressed()
and keyReleased() will each be called twice. In addition, keyTyped()
will be called once. Note that the KeyEvent object
passed to keyTyped() reports character data, in this case 'A',
whereas keyPressed() is typically used to process keycodes.