samer@0
|
1 /*
|
samer@0
|
2 * ButtonBar.java
|
samer@0
|
3 *
|
samer@0
|
4 * Copyright (c) 2000, Samer Abdallah, King's College London.
|
samer@0
|
5 * All rights reserved.
|
samer@0
|
6 *
|
samer@0
|
7 * This software is provided AS iS and WITHOUT ANY WARRANTY;
|
samer@0
|
8 * without even the implied warranty of MERCHANTABILITY or
|
samer@0
|
9 * FITNESS FOR A PARTICULAR PURPOSE.
|
samer@0
|
10 */
|
samer@0
|
11
|
samer@0
|
12 package samer.core.util.heavy;
|
samer@0
|
13 import samer.core.util.*;
|
samer@0
|
14 import samer.core.*;
|
samer@0
|
15 import java.awt.*;
|
samer@0
|
16 import java.awt.event.*;
|
samer@0
|
17
|
samer@0
|
18 /**
|
samer@0
|
19 Displays Agent commands as push button in a container.
|
samer@0
|
20 */
|
samer@0
|
21
|
samer@0
|
22 public class ButtonBar implements Agent.Registry
|
samer@0
|
23 {
|
samer@0
|
24 public ButtonBar(Container p) { panel=p; }
|
samer@0
|
25 public ButtonBar() {
|
samer@0
|
26 this(new JPanel(Border.create(Border.NONE)));
|
samer@0
|
27 panel.setLayout( new FlowLayout(FlowLayout.LEFT,6,2));
|
samer@0
|
28 }
|
samer@0
|
29
|
samer@0
|
30
|
samer@0
|
31 public Agent.Registry add(String l)
|
samer@0
|
32 {
|
samer@0
|
33 Button b = new Button(l);
|
samer@0
|
34 b.addActionListener(handler);
|
samer@0
|
35 panel.add(b);
|
samer@0
|
36 return this;
|
samer@0
|
37 }
|
samer@0
|
38
|
samer@0
|
39 public Agent.Registry add(String l, boolean state) { return add(l); }
|
samer@0
|
40
|
samer@0
|
41 public Container container() { return panel; }
|
samer@0
|
42 public void setBroadcaster(ActionListener b) { broadcaster=b; }
|
samer@0
|
43 public void setTarget(Agent a) {
|
samer@0
|
44 if (a!=null) handler=new AgentAdapter(a);
|
samer@0
|
45 else handler=broadcaster;
|
samer@0
|
46 group();
|
samer@0
|
47 }
|
samer@0
|
48
|
samer@0
|
49 public void group() {}
|
samer@0
|
50
|
samer@0
|
51 private Container panel;
|
samer@0
|
52 private ActionListener handler;
|
samer@0
|
53 private ActionListener broadcaster;
|
samer@0
|
54 }
|
samer@0
|
55
|