KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > proactive > examples > doctor > Legend


1 /*
2 * ################################################################
3 *
4 * ProActive: The Java(TM) library for Parallel, Distributed,
5 * Concurrent computing with Security and Mobility
6 *
7 * Copyright (C) 1997-2002 INRIA/University of Nice-Sophia Antipolis
8 * Contact: proactive-support@inria.fr
9 *
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License as published by the Free Software Foundation; either
13 * version 2.1 of the License, or any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23 * USA
24 *
25 * Initial developer(s): The ProActive Team
26 * http://www.inria.fr/oasis/ProActive/contacts.html
27 * Contributor(s):
28 *
29 * ################################################################
30 */

31 package org.objectweb.proactive.examples.doctor;
32
33 import java.awt.Dialog JavaDoc;
34 import java.awt.Dimension JavaDoc;
35 import java.awt.FontMetrics JavaDoc;
36 import java.awt.Frame JavaDoc;
37 import java.awt.Graphics JavaDoc;
38 import java.awt.Panel JavaDoc;
39 import java.awt.Point JavaDoc;
40 import java.awt.event.WindowAdapter JavaDoc;
41 import java.awt.event.WindowEvent JavaDoc;
42
43 public class Legend extends Dialog JavaDoc {
44
45   public class LegendPanel extends Panel JavaDoc {
46
47     DisplayPanel display;
48
49
50     public LegendPanel(DisplayPanel _display) {
51       display = _display;
52     }
53
54
55     public void update(Graphics JavaDoc g) {
56       FontMetrics JavaDoc fm = g.getFontMetrics();
57       int h = fm.getAscent();
58
59       g.setColor(display.wellOn);
60       g.fillOval(30, 30 - h, h, h);
61       g.setColor(display.patColor);
62       g.drawString("Healthy patient", 40 + h, 30);
63
64       g.setColor(display.sickOn);
65       g.fillOval(30, 40 + h - h, h, h);
66       g.setColor(display.patColor);
67       g.drawString("Sick patient", 40 + h, 40 + h);
68
69       g.setColor(display.cureOn);
70       g.fillOval(30, 50 + 2 * h - h, h, h);
71       g.setColor(display.patColor);
72       g.drawString("Patient with doctor", 40 + h, 50 + 2 * h);
73     }
74
75
76     public Dimension JavaDoc getPreferredSize() {
77       return new Dimension JavaDoc(200, 90);
78     }
79
80
81     public void paint(Graphics JavaDoc g) {
82       update(g);
83     }
84   }
85
86
87   public Legend(Frame JavaDoc dw, DisplayPanel display) {
88     super(dw, "Legend", false);
89
90     Point JavaDoc parLoc = dw.getLocation();
91     setLocation(parLoc.x + (dw.getSize().width), parLoc.y);
92
93     LegendPanel pan = new LegendPanel(display);
94     add(pan);
95
96     pack();
97
98     this.addWindowListener(new WindowAdapter JavaDoc() {
99
100       public void windowClosing(WindowEvent JavaDoc e) {
101         setVisible(false);
102       }
103     });
104   }
105 }
106
Popular Tags