快速业务通道

使用 Eclipse 插件开发环境构建模板 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
/ System.out.println("执行find() in ViewJump");    if(viewPath == null || viewPath.length==0) return -1;    for(int i = 0;i<viewPath.length;i++){ //检查每一个路径     ViewPath vp = viewPath[i]; //对该路径检查     if(vp.find(pnl) != -1){      return i;     }    }    return -1;   }   //建立一个新的路径   /**   *   * @param myPanel   * @param myView   */   private static int newPath(JPanel myPanel,BaseView myView){    System.out.println("执行newPath() in ViewJump");    //检验一下看有没有无效的路径,有则清除    if(viewPath == null || 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<viewPath.length;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||id>=viewPath.length){     return;   }   ViewPath vp = viewPath[id];   //设定目标,从这里看,这是存在安全漏洞的,如果使用者乱传递id进来的话   JPanel[] path = vp.pnlPath;   path[vp.index+1] = aim; } //回到上一个 public static void back(int id){   if(id<0||id>=viewPath.length){    return;   }   ViewPath vp = viewPath[id];   //回到上一个界面   if(vp.index>0){ //只有当前面有路径时才作    vp.bsView.remove(vp.pnlPath[vp.index]); //移去当前的    vp.index--; //游标往前走一步    vp.bsView.add(vp.pnlPath[vp.index],BorderLayout.CENTER); //增加当前的到界面    vp.bsView.validate();    vp.bsView.repaint();   } } //回到起源处 public static void backHome(int id){   if(id<0||id>=viewPath.length){    return;   }   ViewPath vp = viewPath[id];   //直接回到第一步,需要清

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号