[摘要]viewPath.length==0) viewPath = new ViewPath[]new ViewPath(myPanel,myView); return 0; Vi...
viewPath.length==0) {
viewPath = new ViewPath[]{new ViewPath(myPanel,myView)};
return 0;
}
ViewPath[] vjArr = new ViewPath[viewPath.length];
int count = 0;
for(int i = 0;i
if(viewPath[i].bsView!=null){ //把不为空的值取出来
vjArr[count++] = viewPath[i];
}
}
viewPath = new ViewPath[count+1];
System.arraycopy(viewPath,0,vjArr,0,count); //复制到原来的数组变量中
//最后一个位置留给新加入的元素
viewPath[count] = new ViewPath(myPanel,myView);
return count;
}
//获得实例的方法
/**
* 必须检查该Panel是不是已经在路径中了,如果在路径中,
* 则返回注册的编号,用此编号扁可以访问到正确的类型了
* 如果不在路径中,则以此为开始新建一个新的路径
* 本来检查路径的时候没有必要检查路径的第一个元素,
* 因为一个元素不可能是开端,但是为了防止用户连续两次registerPath的错误
* 请把第一个元素也给检查一下
* myView 参数只有当该界面为跳转的起始点时才需要,否则保持原始的View
* @param me
* @param other
* 返回实例数组的下标,
*/
public static int registerPath(JPanel myPanel,BaseView myView){
System.out.println("执行registerPath() in ViewJump");
int idx = find(myPanel);
System.out.println("idx="+idx);
if(idx==-1){ //返回-1表示没有找到,建立一个新的路径
System.out.println("新建一个路径");
idx = newPath(myPanel,myView);
}
System.out.println("执行完注册路径..");
return idx; //返回实例下标
}
//设定要跳转的下一个目标
public static void setNext(int id,JPanel aim){
if(id<0
关键词:Java中简单完成界面跳转