]> git.llucax.com Git - z.facultad/75.62/c2tp1.git/blob - src/FrameCantores.java
MVC en 4.3
[z.facultad/75.62/c2tp1.git] / src / FrameCantores.java
1
2 import java.awt.*;
3 import java.awt.event.*;
4 import java.util.*;
5
6 public class FrameCantores extends Panel implements Observer
7 {
8         private Label nombre;
9         private Label valor;
10
11         public FrameCantores (Cantadores c)
12         {
13                 nombre = new Label (c.getNombre ());
14                 valor = new Label ("No canto nada");
15
16                 setLayout (new BorderLayout ());
17                 add (nombre, BorderLayout.CENTER);
18                 add (valor, BorderLayout.SOUTH);
19
20                 setSize (50, 100);
21                 setVisible (true);
22
23                 c.addObserver (this);
24         }
25
26         public void update(Observable obs, Object obj)
27         {
28                 if (obs instanceof Cantadores) {
29                         valor.setText ((new Integer (((Cantadores)obs).getLastN ())).toString ());
30                 }
31         }
32
33         static public void main (String [] args)
34         {
35                 Sorteo s = new Sorteo ();
36                 Cantadores c1 = new Cantadores ("Pablo");
37                 Cantadores c2 = new Cantadores ("Mariela");
38                 Cantadores c3 = new Cantadores ("Angela");
39                 s.addObserver (c1);
40                 s.addObserver (c2);
41                 s.addObserver (c3);
42
43                 FrameCantores f1 = new FrameCantores (c1);
44                 FrameCantores f2 = new FrameCantores (c2);
45                 FrameCantores f3 = new FrameCantores (c3);
46
47                 Frame p = new Frame ();
48                 p.setLayout (new BorderLayout ());
49                 p.add (f1, BorderLayout.WEST);
50                 p.add (f2, BorderLayout.CENTER);
51                 p.add (f3, BorderLayout.EAST);
52
53                 p.setSize (500, 100);
54                 p.setVisible (true);
55                 s.Go ();
56         }
57 }
58