import java.awt.*; import java.util.*; public class ModePanel extends Panel{ Vector names, cmps, data; int mode; public ModePanel(){ names = new Vector(); cmps = new Vector(); data = new Vector(); setLayout(new CardLayout()); mode = 0; } public Component add(String name, Component cmp){ Component re = super.add(name, cmp); names.addElement(name); cmps.addElement(cmp); data.addElement(name); return re; } /* Name all_ for Netscape java1.1.2 Container class. add(String,Component) call add(Component) (><) # add() janakute this.add() de yonndeyooo... */ //public Component add(Component cmp){ public Component add_(Component cmp){ String name = "name:"+sz(); return add(name, cmp); } public int sz(){ return names.size(); } public int get(){ return mode; } public String getName(){ return (String)names.elementAt(get()); } public Component getCmp(){ return (Component)cmps.elementAt(get()); } public Component getCmp(int i){ return (Component)cmps.elementAt(i); } public void set(int i){ String name = (String)names.elementAt(i); CardLayout cdl = (CardLayout)getLayout(); cdl.show(this, name); mode = i; } public void set(String name){ set(names.indexOf(name)); } public void set(Component cmp){ set(cmps.indexOf(cmp)); } public void inc(){ set((get()+1)%sz()); } // // data // public void setData(Object o, int i){ data.setElementAt(o, i); } public void setData(Object o){ setData(o, get()); } public Object getData(int i){ return data.elementAt(i); } public Object getData(){ return getData(get()); } } // EOF