public class PlayBalloonApplicationWA
class Balloon
1: // PlayBalloonApplicationWA.java
2: // The PlayBalloon AWT application example again, with WindowAdapter
4: import java.awt.*;
5: import java.awt.event.*;
7: public class PlayBalloonApplicationWA
8: extends Frame
9: implements ActionListener //, WindowListener <-- Note!
10: {
11: private Button grow, shrink;
12: private Balloon myBalloon;
14: public static void main(String[] args)
15: {
16: PlayBalloonApplicationWA app = new PlayBalloonApplicationWA();
17: app.setSize(200, 200);
18: app.setVisible(true);
19: }
22: public PlayBalloonApplicationWA()
23: {
24: setTitle("Balloon");
25: setLayout(new FlowLayout());
27: grow = new Button("Grow");
28: shrink = new Button("Shrink");
29: grow.addActionListener(this);
30: shrink.addActionListener(this);
31: add(grow);
32: add(shrink);
34: /*WindowAdapter wa = new WindowAdapter()
35: {// This is "an anonymous inner class"
36: public void windowClosing(WindowEvent e)
37: {
38: System.exit(0);
39: }
40: };
41: addWindowListener(wa);*/
43: // You can even do it this way ...
44: addWindowListener(new WindowAdapter()
45: {
46: public void windowClosing(WindowEvent e)
47: {
48: System.exit(0);
49: }
50: });
53: myBalloon = new Balloon(40, 80, 80);
54: }
56:
57: public void actionPerformed(ActionEvent event)
58: {
59: if (event.getSource() == grow)
60: myBalloon.changeSize(5);
61: if (event.getSource() == shrink)
62: myBalloon.changeSize(-5);
63: repaint();
64: }
67: public void paint(Graphics g)
68: {
69: myBalloon.display(g);
70: }
71: }
74: class Balloon
75: {
76: private int diameter;
77: private int xCoord, yCoord;
79: Balloon(int initialDiameter, int initialX, int initialY)
80: {
81: diameter = initialDiameter;
82: xCoord = initialX;
83: yCoord = initialY;
84: }
86: public void changeSize(int change)
87: {
88: diameter = diameter+change;
89: }
91: public void display (Graphics g)
92: {
93: g.drawOval(xCoord, yCoord, diameter, diameter);
94: }
95: }