3 import javajs.util.Lst;
\r
5 abstract public class Container extends Component {
\r
7 protected Lst<Component> list;
\r
9 private Component[] cList;
\r
11 protected Container(String type) {
\r
15 public Component getComponent(int i) {
\r
19 public int getComponentCount() {
\r
20 return (list == null ? 0 : list.size());
\r
23 public Component[] getComponents() {
\r
24 if (cList == null) {
\r
26 return new Component[0];
\r
27 cList = (Component[]) list.toArray();
\r
32 public Component add(Component component) {
\r
33 return addComponent(component);
\r
36 protected Component addComponent(Component component) {
\r
38 list = new Lst<Component>();
\r
39 list.addLast(component);
\r
41 component.parent = this;
\r
45 protected Component insertComponent(Component component, int index) {
\r
47 return addComponent(component);
\r
48 list.add(index, component);
\r
50 component.parent = this;
\r
54 public void remove(int i) {
\r
55 Component c = list.remove(i);
\r
60 public void removeAll() {
\r
62 for (int i = list.size(); --i >= 0;)
\r
63 list.get(i).parent = null;
\r
70 public int getSubcomponentWidth() {
\r
71 return (list != null && list.size() == 1 ? list.get(0).getSubcomponentWidth() : 0);
\r
75 public int getSubcomponentHeight() {
\r
76 return (list != null && list.size() == 1 ? list.get(0).getSubcomponentHeight() : 0);
\r