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

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

?? tablecliper.java

?? 外國人寫的Java打印程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package printtable;import java.awt.*;import java.awt.print.*;import java.util.*;import java.text.*;import javax.swing.*;import javax.swing.table.*;/** * Title:        PrintTable * Description:  A java jTable Print Programme. * Enable set the wighth and highth. * Copyright:    Copyright (c) 2002 * Company:      TopShine * @author ghostliang * @version 1.0 */public class TableCliper implements Printable,Pageable{  //variable for record the pageFormat  private JTable table;  private PageBorder head;  private boolean showHead;  private PageBorder foot;  private boolean showFoot;  private int headerStatus;  private int tableAlignment;  private int tableScale;  private ExtPageFormat pageFormat;  //init the class  public TableCliper(JTable newTable,ExtPageFormat newPageFormat)  {    table = newTable;    tableAlignment = newPageFormat.getTableAlignment();    headerStatus = newPageFormat.getHeaderType();    tableScale = newPageFormat.getTableScale();    head = newPageFormat.getHead();    foot = newPageFormat.getFoot();    showHead = newPageFormat.getShowHead();    showFoot = newPageFormat.getShowFoot();    pageFormat = newPageFormat;  }  //overwrite the print function of the print  public int print(Graphics newGraphics,PageFormat newPageFormat,int index)  {    Dimension size = null;    if((table.getWidth() == 0) || (table.getHeight() == 0))    {      table.setSize(table.getPreferredSize());    }    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);        if(pageIndex == index)        {          paintTable(newGraphics,positionX,positionY,size);          return Printable.PAGE_EXISTS;        }        pageIndex++;        positionX += size.width;      }      positionY += size.height;    }    return Printable.NO_SUCH_PAGE;  }  //get how much area this page to print  protected Dimension getPrintSize(int positionX,int positionY)  {    Rectangle rect;    int printWidth;    int printHeight;    int firstCol = table.columnAtPoint(new Point(positionX,positionY));    int firstRow = table.columnAtPoint(new Point(positionX,positionY));    int maxWidth = (int)(pageFormat.getImageableWidth() * 100 / tableScale);    int maxHeight = (int)(pageFormat.getImageableHeight() * 100 / tableScale);    if(displayHeaderOnPage(positionY))    {      maxHeight -= table.getTableHeader().getHeight();    }    int lastCol = table.columnAtPoint(new Point(positionX + maxWidth,positionY));    if(lastCol == -1)      printWidth = table.getWidth() - positionX;    else    {      rect = table.getCellRect(0,lastCol - 1,true);      printWidth = rect.x + rect.width - positionX;    }    int lastRow = table.rowAtPoint(new Point(positionX,positionY + maxHeight));    if(lastRow == -1)      printHeight = table.getHeight() - positionY;    else    {      rect = table.getCellRect(lastRow - 1,0,true);      printHeight = rect.y + rect.height - positionY;    }    return new Dimension(printWidth,printHeight);  }  //show the table on the PrintComponent  protected void paintTable(Graphics newGraphics,int positionX,int positionY,      Dimension size)  {    Graphics2D newGraphics2D = (Graphics2D)newGraphics;    int allOffsetX = 0;    int allOffsetY = 0;    //if head is exist,show it on the paper    if(showHead)    {      int headWidth = (int)head.getWidth();      int headHeight = (int)head.getHeight();      int headImageableX = (int)head.getImageableX();      int headImageableY = (int)head.getImageableY();      int headImageableWidth = (int)head.getImageableWidth();      int headImageableHeight = (int)head.getImageableHeight();      newGraphics.setColor(Color.white);      newGraphics.fillRect(0,0,headWidth,headHeight);      //print the border of the head      if(head.getBorderType() == 0)      {        newGraphics.setColor(Color.black);        newGraphics.drawLine(headImageableX,headImageableY + headImageableHeight,          headImageableWidth + headImageableX,headImageableY + headImageableHeight);      }      else if(head.getBorderType() == 1)      {        newGraphics.setColor(Color.black);        newGraphics.drawRect(headImageableX,headImageableY,          headImageableWidth,headImageableHeight);      }      //print string of head      StringBuffer content;      StringBuffer bakContent;      Date localDate  = new Date();      SimpleDateFormat sdf =  new SimpleDateFormat ("yyyy-MM-dd");      String localNowDate = sdf.format(localDate);      if(head.leftContent != "")      {        content = new StringBuffer(head.leftContent);        bakContent = new StringBuffer(head.leftContent);        while( head.leftContent.indexOf('@') != -1          && head.leftContent.indexOf('@') != head.leftContent.length() - 1)        {          int flag = head.leftContent.indexOf('@');          switch(head.leftContent.charAt(flag + 1))          {            case 'd':              content.replace(flag,flag + 2,localNowDate);              head.leftContent = content.toString();              break;            case 'p':              content.replace(flag,flag + 2,                "" + this.getCurrentNumberOfPages(positionX,positionY));              head.leftContent = content.toString();              break;            case 't':              content.replace(flag,flag + 2,                "" + this.getNumberOfPages());              head.leftContent = content.toString();              break;            default:              content.replace(flag,flag + 1,                "#$");              head.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,"@");        head.leftContent = bakContent.toString();        newGraphics.setColor(Color.black);        newGraphics.drawString(content.toString(),headImageableX + 10,headImageableY + (headImageableHeight / 2 + 6));      }      if(head.midContent != "")      {        content = new StringBuffer(head.midContent);        bakContent = new StringBuffer(head.midContent);        while( head.midContent.indexOf('@') != -1          && head.midContent.indexOf('@') != head.midContent.length() - 1)        {          int flag = head.midContent.indexOf('@');          switch(head.midContent.charAt(flag + 1))          {            case 'd':              content.replace(flag,flag + 2,localNowDate);              head.midContent = content.toString();              break;            case 'p':              content.replace(flag,flag + 2,                "" + this.getCurrentNumberOfPages(positionX,positionY));              head.midContent = content.toString();              break;            case 't':              content.replace(flag,flag + 2,                "" + this.getNumberOfPages());              head.midContent = content.toString();              break;            default:              content.replace(flag,flag + 1,                "#$");              head.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,"@");        head.midContent = bakContent.toString();        newGraphics.setColor(Color.black);        newGraphics.drawString(content.toString(),headImageableX + (headImageableWidth / 2) - content.toString().length() * 4,headImageableY + (headImageableHeight / 2 + 6));      }      if(head.rightContent != "")      {        content = new StringBuffer(head.rightContent);        bakContent = new StringBuffer(head.rightContent);        while( head.rightContent.indexOf('@') != -1          && head.rightContent.indexOf('@') != head.rightContent.length() - 1)        {          int flag = head.rightContent.indexOf('@');          switch(head.rightContent.charAt(flag + 1))          {            case 'd':              content.replace(flag,flag + 2,localNowDate);              head.rightContent = content.toString();              break;            case 'p':              content.replace(flag,flag + 2,                "" + this.getCurrentNumberOfPages(positionX,positionY));              head.rightContent = content.toString();              break;            case 't':              content.replace(flag,flag + 2,                "" + this.getNumberOfPages());              head.rightContent = content.toString();              break;            default:              content.replace(flag,flag + 1,                "#$");              head.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,"@");        head.rightContent = bakContent.toString();        newGraphics.setColor(Color.black);        newGraphics.drawString(content.toString(),headImageableX + headImageableWidth - content.toString().length() * 8,headImageableY + (headImageableHeight / 2 + 6));      }      newGraphics.translate(0,headHeight);      allOffsetX += 0;      allOffsetY += headHeight;    }    //print the main paper    //a offset from the border of the paper    int offsetX = (int)(pageFormat.getImageableX());    int offsetY = (int)(pageFormat.getImageableY());    //the size of the paper    int paperWidth = (int)(pageFormat.getWidth());    int paperHeight = (int)(pageFormat.getHeight());    //draw main paper    newGraphics.setColor(Color.white);    newGraphics.fillRect(0,0,paperWidth,paperHeight);    //save the clip    Rectangle clipRect = newGraphics.getClipBounds();    //offset for alignment    //size measured as table scale,so you must consider with table scale here    if(tableAlignment == 1)      newGraphics.translate((int)((pageFormat.getImageableWidth() - (double)(size.width * tableScale / 100))/2),0);    else if(tableAlignment == 2)      newGraphics.translate((int)(pageFormat.getImageableWidth() - (double)(size.width * tableScale / 100)),0);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区蝌蚪| 日本亚洲电影天堂| 99精品欧美一区二区三区小说 | 久久99国产精品久久99果冻传媒| 欧美日韩精品久久久| 日韩影院免费视频| 日韩西西人体444www| 国产成人av一区二区| 国产精品久久久久毛片软件| 在线观看视频一区二区| 午夜a成v人精品| 精品久久久久久久久久久久久久久 | 成人18视频在线播放| 亚洲欧美日韩国产中文在线| 欧美高清视频一二三区 | 亚洲欧洲av另类| 欧美色国产精品| 久久99精品久久久久久| 中文字幕免费在线观看视频一区| 色综合视频在线观看| 人人超碰91尤物精品国产| 国产午夜一区二区三区| 色偷偷久久一区二区三区| 日本sm残虐另类| 国产精品久久久久一区二区三区 | 国产精品美女久久久久高潮| 91国产福利在线| 国内一区二区在线| 亚洲影视在线观看| 久久蜜臀中文字幕| 色噜噜狠狠色综合欧洲selulu| 日本成人在线一区| 国产精品丝袜91| 欧美一级夜夜爽| 91亚洲精品久久久蜜桃| 国内精品国产三级国产a久久| 亚洲人成在线观看一区二区| 欧美变态tickle挠乳网站| 91蜜桃网址入口| 国产自产v一区二区三区c| 亚洲一区在线视频观看| 国产日韩视频一区二区三区| 欧美一区在线视频| 91在线视频网址| 国产一区二区成人久久免费影院| 亚洲第一电影网| 中文欧美字幕免费| 亚洲精品一区二区三区香蕉| 欧美视频中文字幕| av网站免费线看精品| 国产在线精品一区二区不卡了| 亚洲国产精品久久艾草纯爱| 国产精品久久久久久久久快鸭 | 久久在线观看免费| 欧美日韩视频第一区| 成熟亚洲日本毛茸茸凸凹| 久久成人久久鬼色| 日韩av网站在线观看| 亚洲欧美另类小说| 亚洲欧洲精品一区二区三区| 久久久久久麻豆| 精品欧美久久久| 91精品国产欧美一区二区| 欧美性大战xxxxx久久久| 97se亚洲国产综合自在线观| 成人性视频免费网站| 国产成人av自拍| 国产一区二区在线观看视频| 久久精品国产秦先生| 毛片av一区二区三区| 久久国产剧场电影| 毛片av一区二区| 老司机午夜精品99久久| 麻豆精品在线视频| 免费观看一级特黄欧美大片| 美日韩一区二区| 狠狠色丁香婷婷综合| 国产成人在线观看| 福利视频网站一区二区三区| 国产成人欧美日韩在线电影| 粉嫩aⅴ一区二区三区四区五区| 国产成人亚洲综合a∨婷婷| 国产精品456| 成人激情开心网| 色综合夜色一区| 欧美日韩一区不卡| 91精品国产综合久久精品图片| 91精品国产一区二区三区| 精品国产一区二区三区久久久蜜月| 337p日本欧洲亚洲大胆精品| 国产免费久久精品| 亚洲欧美日韩综合aⅴ视频| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲成av人片在线| 麻豆成人免费电影| 国产成人av电影在线| 9人人澡人人爽人人精品| 欧美亚洲日本一区| 欧美一级高清片在线观看| 国产日韩影视精品| 一区二区在线观看免费视频播放 | 欧美aⅴ一区二区三区视频| 久草这里只有精品视频| 成人三级在线视频| 欧美性生活大片视频| 精品国内二区三区| 亚洲同性gay激情无套| 丝袜美腿亚洲一区二区图片| 紧缚捆绑精品一区二区| proumb性欧美在线观看| 欧美高清激情brazzers| 久久综合狠狠综合久久激情| 亚洲色图欧美激情| 久久精品国产亚洲一区二区三区| 国产成人亚洲综合a∨婷婷图片| 在线观看日韩毛片| 久久综合色婷婷| 一区二区三区在线播放| 麻豆精品久久精品色综合| 99精品国产91久久久久久| 日韩欧美国产综合在线一区二区三区| 亚洲国产电影在线观看| 五月天精品一区二区三区| 高清在线不卡av| 日韩一区二区免费视频| 亚洲欧洲日产国产综合网| 精品一区二区日韩| 欧美在线999| 日本一区二区三区四区在线视频| 日本伊人午夜精品| 97成人超碰视| 亚洲国产成人私人影院tom| 七七婷婷婷婷精品国产| 欧美性极品少妇| ●精品国产综合乱码久久久久| 久88久久88久久久| 欧美日韩在线精品一区二区三区激情 | 亚洲高清不卡在线| 粉嫩高潮美女一区二区三区| 欧美一区二区成人| 樱桃国产成人精品视频| 成人午夜免费视频| 26uuu精品一区二区| 日韩电影在线观看电影| 在线一区二区视频| 国产精品丝袜一区| 国产精品小仙女| 精品美女一区二区三区| 五月天中文字幕一区二区| 91黄色免费看| 悠悠色在线精品| 91老师国产黑色丝袜在线| 国产精品网站在线| 国产91富婆露脸刺激对白| 精品国产欧美一区二区| 日本视频免费一区| 欧美日韩国产片| 亚洲午夜久久久久久久久久久| 色婷婷av一区二区三区大白胸| 国产精品久久一级| 99精品桃花视频在线观看| 中文字幕在线一区二区三区| 东方欧美亚洲色图在线| 国产视频一区二区在线| 国产成人精品免费| 中文字幕不卡在线| 972aa.com艺术欧美| 亚洲欧美色一区| 欧美三级电影网| 亚洲电影视频在线| 制服丝袜激情欧洲亚洲| 日韩av在线发布| 欧美变态凌虐bdsm| 国产精品羞羞答答xxdd| 日本一区二区三区视频视频| av在线不卡观看免费观看| 亚洲欧美另类小说| 欧美日韩综合不卡| 天天操天天综合网| 欧美videossexotv100| 国产剧情一区在线| 国产精品网站导航| 91黄视频在线| 久久精品国产一区二区三区免费看| 精品国产制服丝袜高跟| 成人免费观看av| 亚洲综合色丁香婷婷六月图片| 欧美日韩精品系列| 久久99久国产精品黄毛片色诱| 国产欧美一区二区三区在线看蜜臀 | 天堂成人免费av电影一区| 欧美一区二区三区爱爱| 国产在线看一区| 国产精品美女久久久久久久| 在线观看www91| 久久99久久99精品免视看婷婷| 国产精品久久影院| 555www色欧美视频| 国产iv一区二区三区| 亚洲第一二三四区|