亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tablecliper.java

?? 外國人寫的Java打印程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
    //scale the Graphics    newGraphics2D.scale((double)(tableScale)/100.0,(double)(tableScale)/100.0);    //if print head,we should print head and table    //otherwise,we just need to pring the table    if(displayHeaderOnPage(positionY))    {      //if need to print a table head      JTableHeader header = table.getTableHeader();      if((header.getHeight() == 0) || (header.getWidth() == 0))        header.setSize(header.getPreferredSize());      //get the height of the header      //after print the head,the offsetY need to change into (offsetY + headerHeight)      int headerHeight = header.getHeight();      //show the offset as the real size,so multiply the table scale with offset      newGraphics.translate((int)(offsetX * 100.0 / tableScale) - positionX,(int)(offsetY * 100.0 / tableScale));      newGraphics.clipRect(positionX,0,size.width,size.height + headerHeight);      header.paint(newGraphics);      //draw v(|) line with table head      newGraphics.setColor(Color.gray);      newGraphics.drawLine(positionX,0,positionX,headerHeight);      //draw h(-) line with table head      newGraphics.setColor(Color.gray);      newGraphics.drawLine(positionX,0,positionX + size.width,0);      //draw the table      newGraphics.translate(0,headerHeight - positionY);      newGraphics.clipRect(positionX,positionY,size.width,size.height);      table.paint(newGraphics);      //draw h-line with table head      newGraphics.setColor(Color.gray);      newGraphics.drawLine(positionX,positionY,positionX,size.height + positionY);      //restore the translate      newGraphics.translate(0,positionY - headerHeight);      newGraphics.translate((int)(positionX - offsetX * (double)(100.0 / tableScale)),(int)(-offsetY *(double)(100.0 / tableScale)));    }    //print table without head    else    {      //show the offset as the real size,so multiply the table scale with offset      newGraphics.translate((int)(offsetX * 100.0 / tableScale - positionX),(int)(offsetY * 100.0 / tableScale - positionY));      //as i said,size has been measured with table scale,so there needn't      newGraphics.clipRect(positionX,positionY,size.width,size.height);      table.paint(newGraphics);      //draw v-line without table head      newGraphics.setColor(Color.gray);      newGraphics.drawLine(positionX,positionY,positionX + size.width,positionY);      //draw h-line without table head      newGraphics.setColor(Color.gray);      newGraphics.drawLine(positionX,positionY,positionX,size.height + positionY);      //restore the translate      newGraphics.translate((int)(positionX - offsetX *(double)(100.0 / tableScale)),(int)(positionY - offsetY *(double)(100.0 / tableScale)));    }    //restore the scale    newGraphics2D.scale((double)(100.0 / tableScale),(double)(100.0/tableScale));    //restore the translate    if(tableAlignment == 1)      newGraphics.translate((int)(((double)(size.width * tableScale / 100) - pageFormat.getImageableWidth())/2),0);    else if(tableAlignment == 2)      newGraphics.translate((int)((double)(size.width * tableScale / 100) - pageFormat.getImageableWidth()),0);    //restore the clip    newGraphics.setClip(clipRect);    //translate for the main paper    newGraphics.translate(0,paperHeight);    allOffsetX += 0;    allOffsetY += paperHeight;    //if foot is exist,show it on the paper    if(showFoot)    {      int footWidth = (int)foot.getWidth();      int footHeight = (int)foot.getHeight();      int footImageableX = (int)foot.getImageableX();      int footImageableY = (int)foot.getImageableY();      int footImageableWidth = (int)foot.getImageableWidth();      int footImageableHeight = (int)foot.getImageableHeight();      newGraphics.setColor(Color.white);      newGraphics.fillRect(0,0,footWidth,footHeight);      //print the border of the foot      if(foot.getBorderType() == 0)      {        newGraphics.setColor(Color.black);        newGraphics.drawLine(footImageableX,footImageableY,          footImageableWidth + footImageableX,footImageableY);      }      else if(foot.getBorderType() == 1)      {        newGraphics.setColor(Color.black);        newGraphics.drawRect(footImageableX,footImageableY,          footImageableWidth,footImageableHeight);      }      //print string of foot      StringBuffer content;      StringBuffer bakContent;      Date localDate  = new Date();      SimpleDateFormat sdf =  new SimpleDateFormat ("yyyy-MM-dd");      String localNowDate = sdf.format(localDate);      if(foot.leftContent != "")      {        content = new StringBuffer(foot.leftContent);        bakContent = new StringBuffer(foot.leftContent);        while( foot.leftContent.indexOf('@') != -1          && foot.leftContent.indexOf('@') != foot.leftContent.length() - 1)        {          int flag = foot.leftContent.indexOf('@');          switch(foot.leftContent.charAt(flag + 1))          {            case 'd':              content.replace(flag,flag + 2,localNowDate);              foot.leftContent = content.toString();              break;            case 'p':              content.replace(flag,flag + 2,                "" + this.getCurrentNumberOfPages(positionX,positionY));              foot.leftContent = content.toString();              break;            case 't':              content.replace(flag,flag + 2,                "" + this.getNumberOfPages());              foot.leftContent = content.toString();              break;            default:              content.replace(flag,flag + 1,                "#$");              foot.leftContent = content.toString();              break;          }        }        for(int index = 0;index < content.length() - 1;index++)          if(content.charAt(index) == '#' && content.charAt(index + 1) == '$')            content.replace(index,index + 2,"@");        foot.leftContent = bakContent.toString();        newGraphics.setColor(Color.black);        newGraphics.drawString(content.toString(),footImageableX + 10,footImageableY + (footImageableHeight / 2 + 6));      }      if(foot.midContent != "")      {        content = new StringBuffer(foot.midContent);        bakContent = new StringBuffer(foot.midContent);        while( foot.midContent.indexOf('@') != -1          && foot.midContent.indexOf('@') != foot.midContent.length() - 1)        {          int flag = foot.midContent.indexOf('@');          switch(foot.midContent.charAt(flag + 1))          {            case 'd':              content.replace(flag,flag + 2,localNowDate);              foot.midContent = content.toString();              break;            case 'p':              content.replace(flag,flag + 2,                "" + this.getCurrentNumberOfPages(positionX,positionY));              foot.midContent = content.toString();              break;            case 't':              content.replace(flag,flag + 2,                "" + this.getNumberOfPages());              foot.midContent = content.toString();              break;            default:              content.replace(flag,flag + 1,                "#$");              foot.midContent = content.toString();              break;          }        }        for(int index = 0;index < content.length() - 1;index++)          if(content.charAt(index) == '#' && content.charAt(index + 1) == '$')            content.replace(index,index + 2,"@");        foot.midContent = bakContent.toString();        newGraphics.setColor(Color.black);        newGraphics.drawString(content.toString(),footImageableX + (footImageableWidth / 2) - content.toString().length() * 4,footImageableY + (footImageableHeight / 2 + 6));      }      if(foot.rightContent != "")      {        content = new StringBuffer(foot.rightContent);        bakContent = new StringBuffer(foot.rightContent);        while( foot.rightContent.indexOf('@') != -1          && foot.rightContent.indexOf('@') != foot.rightContent.length() - 1)        {          int flag = foot.rightContent.indexOf('@');          switch(foot.rightContent.charAt(flag + 1))          {            case 'd':              content.replace(flag,flag + 2,localNowDate);              foot.rightContent = content.toString();              break;            case 'p':              content.replace(flag,flag + 2,                "" + this.getCurrentNumberOfPages(positionX,positionY));              foot.rightContent = content.toString();              break;            case 't':              content.replace(flag,flag + 2,                "" + this.getNumberOfPages());              foot.rightContent = content.toString();              break;            default:              content.replace(flag,flag + 1,                "#$");              foot.rightContent = content.toString();              break;          }        }        for(int index = 0;index < content.length() - 1;index++)          if(content.charAt(index) == '#' && content.charAt(index + 1) == '$')            content.replace(index,index + 2,"@");        foot.rightContent = bakContent.toString();        newGraphics.setColor(Color.black);        newGraphics.drawString(content.toString(),footImageableX + footImageableWidth - content.toString().length() * 8,footImageableY + (footImageableHeight / 2 + 6));      }      newGraphics.translate(0,footHeight);      allOffsetX += 0;      allOffsetY += footHeight;    }    //restore all offset    newGraphics.translate(-allOffsetX,-allOffsetY);  }  //decide whether display the header or not  protected boolean displayHeaderOnPage(int positionY)  {    if((headerStatus == 0) || ((headerStatus == 1) && positionY == 0))      return true;    else      return false;  }  //get the total page numbers  public int getNumberOfPages()  {    Dimension size = null;    int tableWidth = table.getWidth();    int tableHeight = table.getHeight();    int positionX = 0;    int positionY = 0;    int pageIndex = 0;    while(positionY < tableHeight)    {      positionX = 0;      while(positionX < tableWidth)      {        size = getPrintSize(positionX,positionY);        positionX += size.width;        pageIndex++;      }      positionY += size.height;    }    return pageIndex;  }  //get current page number  public int getCurrentNumberOfPages(int currentPositionX,int currentPositionY)  {    Dimension size = null;    int tableWidth = table.getWidth();    int tableHeight = table.getHeight();    int positionX = 0;    int positionY = 0;    int pageIndex = 0;    while(positionY < tableHeight)    {      positionX = 0;      while(positionX < tableWidth)      {        size = getPrintSize(positionX,positionY);        pageIndex++;        System.out.println(currentPositionX);        System.out.println(currentPositionY);        if((currentPositionX == positionX) && (currentPositionY == positionY))          return pageIndex;        positionX += size.width;      }      positionY += size.height;    }    return 0;  }  //get the printable(the canvas)  public Printable getPrintable(int index)  {    return this;  }  //get the pageFormat(the layout of the paper)  public PageFormat getPageFormat(int index)  {    return (PageFormat)pageFormat;  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合成人网| 欧美影院一区二区三区| 99精品欧美一区| 欧美三级日韩在线| 久久久美女毛片| 日韩精品乱码av一区二区| 成a人片亚洲日本久久| 欧美一区二区三区白人| 亚洲一区视频在线| 国产精品99久久久久久有的能看| 精品视频一区三区九区| 一区二区中文字幕在线| 成人国产电影网| 欧美男男青年gay1069videost | 久久99久久99精品免视看婷婷| 99re这里只有精品首页| 久久亚洲免费视频| 精品亚洲免费视频| 欧美一区二区视频免费观看| 亚洲一区在线视频| 91麻豆精品一区二区三区| 日本一区二区三区dvd视频在线| 免费观看成人av| 欧美精品v国产精品v日韩精品| 亚洲欧美日韩国产成人精品影院 | 丝瓜av网站精品一区二区| 色综合久久久久久久| 国产精品超碰97尤物18| 成人午夜看片网址| 中文字幕不卡三区| 成人免费va视频| 中文字幕在线观看一区| 波多野结衣中文字幕一区| 中文字幕va一区二区三区| 国产99久久精品| 国产精品福利在线播放| 成人av网址在线观看| 欧美国产精品一区二区三区| 高清不卡一区二区在线| 国产精品国产三级国产aⅴ原创| 春色校园综合激情亚洲| 国产日韩v精品一区二区| 国产一区二区三区av电影| 欧美成人性福生活免费看| 久久99精品久久久久久国产越南 | 91麻豆精品国产91久久久更新时间| 亚洲国产一二三| 欧美肥妇毛茸茸| 久久er99热精品一区二区| 国产性色一区二区| www.亚洲精品| 一区二区三区自拍| 欧美精选在线播放| 91社区在线播放| 亚洲六月丁香色婷婷综合久久| 欧美性猛交xxxx乱大交退制版 | 亚洲欧洲综合另类在线| 欧美日韩免费电影| 国产一区在线不卡| 亚洲图片激情小说| 欧美精品vⅰdeose4hd| 国产麻豆视频精品| 亚洲欧美另类小说视频| 51午夜精品国产| 成人手机电影网| 亚洲香蕉伊在人在线观| 日韩视频免费直播| 国产精品系列在线播放| 亚洲午夜一二三区视频| 精品美女一区二区| 白白色亚洲国产精品| 婷婷一区二区三区| 中文一区二区完整视频在线观看| 在线中文字幕不卡| 国模套图日韩精品一区二区| 亚洲三级小视频| 2021中文字幕一区亚洲| 欧美怡红院视频| 国产成人啪免费观看软件| 亚洲一区二区三区美女| 国产午夜亚洲精品午夜鲁丝片| 91久久免费观看| 国产成人在线电影| 男人的j进女人的j一区| 亚洲丝袜制服诱惑| 欧美精品一区二区三区久久久| 色天天综合色天天久久| 国产成人精品三级| 美女在线观看视频一区二区| 亚洲色图视频免费播放| 久久亚洲春色中文字幕久久久| 欧美久久久久免费| 色婷婷亚洲综合| 99久精品国产| 国产成人欧美日韩在线电影| 日本午夜一本久久久综合| 亚洲男人的天堂在线aⅴ视频| 日韩三级免费观看| 3d成人动漫网站| 欧美吞精做爰啪啪高潮| 99九九99九九九视频精品| 国产成人免费视频网站高清观看视频| 日韩中文字幕不卡| 亚洲妇女屁股眼交7| 亚洲视频电影在线| 欧美国产日韩精品免费观看| 精品久久久久久久久久久久久久久久久 | 中文字幕中文乱码欧美一区二区 | 91精品综合久久久久久| 欧美午夜一区二区三区免费大片| 91在线视频网址| 91网上在线视频| 色综合久久66| 一本大道久久a久久精二百| 日韩欧美视频在线| 丰满放荡岳乱妇91ww| 欧美三级资源在线| 色婷婷av一区二区三区软件| 一本一道综合狠狠老| 色综合色综合色综合| 在线影院国内精品| 欧美亚洲免费在线一区| 欧美午夜精品一区二区三区| 欧美日韩高清一区| 欧美伦理电影网| 日韩亚洲欧美在线观看| 精品国内片67194| 国产亚洲欧美中文| 亚洲欧洲日韩女同| 一区av在线播放| 日本伊人午夜精品| 国产成人免费视频| 色综合天天视频在线观看| 欧美日韩一级视频| 欧美成人艳星乳罩| 国产精品激情偷乱一区二区∴| 亚洲三级免费电影| 日韩在线a电影| 国产一区不卡在线| 91视频一区二区| 欧美日韩你懂得| 精品国产乱码久久久久久免费| 中文字幕电影一区| 午夜欧美在线一二页| 国产综合色产在线精品| 成人精品免费看| 日本高清免费不卡视频| 欧美一区中文字幕| 国产精品免费丝袜| 性久久久久久久| 国产91丝袜在线播放| 欧美性猛交xxxxxx富婆| 日韩欧美一级精品久久| 亚洲欧洲日韩av| 久久国产精品99久久久久久老狼| www.av亚洲| 日韩一区二区在线免费观看| 国产精品初高中害羞小美女文| 日本怡春院一区二区| 一本色道综合亚洲| 久久亚洲精品小早川怜子| 久久国产日韩欧美精品| 99r国产精品| 2023国产精品| 奇米影视在线99精品| 99精品国产99久久久久久白柏| 日韩视频免费观看高清完整版在线观看 | 日韩在线观看一区二区| 粉嫩在线一区二区三区视频| 在线不卡的av| 亚洲美女屁股眼交| 国产mv日韩mv欧美| 欧美丰满一区二区免费视频| 亚洲精品免费在线| 成人h动漫精品一区二区| 欧美大片在线观看| 婷婷成人综合网| 色偷偷久久一区二区三区| 欧美国产激情二区三区| 精久久久久久久久久久| 欧美一级日韩不卡播放免费| 一区二区三区中文字幕精品精品| 成人黄动漫网站免费app| 亚洲精品在线网站| 久久精品99国产精品日本| 欧美人牲a欧美精品| 午夜精品福利视频网站| 色婷婷精品久久二区二区蜜臀av| 日本一区二区高清| 国产精品538一区二区在线| 精品国产一区二区三区不卡 | 国产成人在线网站| 欧美一二三区在线| 日韩精彩视频在线观看| 欧美日免费三级在线| 亚洲国产日韩a在线播放性色| 在线免费不卡视频| 国产乱码精品一区二区三| 91精品在线免费| 男女男精品网站|