main() data = input() data = process data() output(data)

|
|
|
|
|
|
$ echo 100 400 100 100 400 400 100 400 | java DCShow 15
|
|
|
without jumping in and out of the program.


EventObject class is the event hierarchy
root.
public class EventObject protected Object source EventObject(Object source) Object getSource() String toString()
|
|
|
EventListener is the root of the
event-listener hierarchy.
interface MouseListener extends EventListener void mouseClicked(MouseEvent e) void mouseEntered(MouseEvent e) void mouseExited(MouseEvent e) void mousePressed(MouseEvent e) void mouseReleased(MouseEvent e)
class LineMaker
implements MouseListener
mouseClicked(MouseEvent e)
xCoords[n] = e.getX()
yCoords[n++] = e.getY()
repaint()
mouseEntered(MouseEvent e)
System.err.println("Enter the mouse")
mouseExited(MouseEvent e)
System.err.println("Exit the mouse")
mousePressed(MouseEvent e)
System.err.println("Mouse pressed")
mouseReleased(MouseEvent e)
System.err.println("Mouse released")
addMouseListener() is defined in Component.



In the panel:
|
In the handler:
|
|
In the panel:
|
class DragonPanel
extends JPanel
implements MouseListener
private int
xCoord[], yCoord[], n
DragonPanel()
setMouseListener(this)
mouseClicked(MouseEvent e)
xCoord[n] = x
xCoord[n++] = y
repaint()

|
|
|
interfaceKeyListenerextends EventListener void keyPressed(KeyEvent e) void keyReleased(KeyEvent e) void keyTyped(KeyEvent e)
class KeyHandler
implements KeyListener
keyTyped(KeyEvent e)
int d =
Character.digit(e.getKeyChar(), 16)
if (d > -1)
curveOrder(d)
repaint()
|
|
|
|
|