Title: Ereignissteuerung (Events)
1Ereignissteuerung (Events)
ereignisgesteuert
prozedural
Wann immer der Event auftritt, führe möglichst
bald aus ...
2TimerEvent (UML-Diagramm)im Delegations-Eventmode
ll
Registrierung Übergeben einer Referenz der
Klasse, welche die Callbackmethode enthält, an
den Eventhandler, der die Callbackmethode bei
jedem Event aufruft.
3DigitalWatch
public boolean timeElapsed() isBell
true return true public static void
main(String args) new DigitalWatch()
4MouseEvents
Mausevents
5Anonyme Klassen
Anonyme Klassen
6ButtonEvents
Buttonevents
7ButtonEvents
Buttonevents
8ButtonEvents
Buttonevents
(J2SE 1.4)
Schon viel besser als state 2
9ButtonEvents
public WbzEx12a() Turtle t new
Turtle() JPanel jp t.getPlayground()
jp.add(runButton) jp.add(stopButton)
jp.add(quitButton) jp.validate()
ButtonActionAdapter adapter new
ButtonActionAdapter() runButton.addActionList
ener(adapter) stopButton.addActionListener(ad
apter) quitButton.addActionListener(adapter)
while (state ! State.QUITTING)
switch(state) case
State.STOPPED Thread.yield()
break case State.RUNNING
t.forward(10).left(10) break
System.exit(0) public static void
main(String args) new WbzEx12a()
Buttonevents
(J2SE 1.4)
10GUI Muster
// WbzEx13.java import java.awt. import
javax.swing. import ch.aplu.util. public
class WbzEx13 extends JPanel private int
count 0 public WbzEx13() JFrame f
new JFrame("Frame Window")
f.setDefaultCloseOperation(WindowConstants.EXIT_ON
_CLOSE) f.getContentPane().add(this)
f.setBounds(50, 50, 550, 550)
f.setVisible(true) public void
paintComponent(Graphics g)
super.paintComponent(g) g.drawOval(0, 0,
500, 500) g.drawString("WBZ-Kurs \"Java im
Unterricht\"", 180, 250) Graphics2D g2D
(Graphics2D)g g2D.setStroke(new
BasicStroke(8)) Line2D.Double line new
Line2D.Double(20, 300, 480, 300)
g2D.draw(line) System.out.println(count)
public static void main(String args)
Console.init() new WbzEx13()
GUI-Muster