three four
另外,Vector 在参数传递中发挥着举足轻重的作用。
在Applet 中有一块画布(Canvas) 和一个(Panel), 而Panel 中放着用户要输入的信息,根据这些信息把参数传递到canvas 中,这时在Java 中用一个接口(Interface), 而在接口中需用一个Vector 去传递这些参数。另外,在一个类向另一个类参数传递就可以用这种方法。
例如:
import java.util.Vector
interface codeselect{
Vector codeselect=new Vector();
}
显示数学信息
Vector(0)存入学生编号
Vector(1)存入学科
在Panel 中当用户在TextField 和Choice 中选择自己所要求的内容,程序中
通过事件响应把值传到向量Vector 中。
假若在Panel 类中:
public void codepanel extends Panel{
public void init()
{
**.
TextField s=new TextField();
Choice c=new Choice();
c. addItem("语文");
c.addItem("数学");
c.addItem("政治");
add(s);
add (c);
**
}
public boolean handleEvent(Event event){
if(event.id==Event.ACTION_EVENT){
if(event.target.instanceof Textfield)
{
coderesult.setElementAt(s.getText(),0);
}
else if(event.target intanceof Choice)
{
coderesult.setElementAt(new Integer(c.getSelectedIndex()),1);
}
}
}
}
这时,向量中已经存入学生编号和学科索引号(0 为语文,1 为数学,2 为政治)。
而在Canvas 中得到此值,
public class codecanvas extends Canvas{
public void code{
}
public void paint{
String str;
int t;
str=(String)coderesult.elementAt(0);
t=(new Integer(codeselect.elementAt(1).toString())).intValue();
if(t==0)
{
显示语文信息
}
else if(t==1)
{
显示数学信息
}
else if(t==2)
{
显示政治信息
}
}
}