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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tablecliper.java

?? 外國人寫的Java打印程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
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);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区啪啪| 2022国产精品视频| 韩国精品免费视频| 综合分类小说区另类春色亚洲小说欧美| 欧美亚洲日本一区| 岛国一区二区在线观看| 日本不卡123| 一区二区三区丝袜| 亚洲国产精品成人久久综合一区| 欧美精选午夜久久久乱码6080| 成人一区二区三区在线观看| 麻豆91精品视频| 亚洲午夜在线视频| 国产精品成人网| 国产亚洲美州欧州综合国| 欧美肥妇free| 欧美吞精做爰啪啪高潮| 色网站国产精品| 久久精品国产99国产精品| 亚洲专区一二三| 亚洲欧洲成人av每日更新| 欧美精品一区二区三区高清aⅴ| 精品1区2区3区| 91香蕉视频污| 不卡免费追剧大全电视剧网站| 国产精品一区二区久激情瑜伽| 秋霞午夜鲁丝一区二区老狼| 亚洲国产成人高清精品| 亚洲在线观看免费| 综合激情网...| 国产日韩欧美亚洲| 久久精品一二三| 久久这里只有精品首页| 精品剧情在线观看| 精品久久人人做人人爰| 欧美成人精品二区三区99精品| 欧美一区二区精美| 日韩欧美视频一区| 精品国产制服丝袜高跟| 精品日韩欧美一区二区| 精品日韩成人av| 国产喷白浆一区二区三区| 久久综合精品国产一区二区三区| 91精品国产一区二区三区| 3d成人动漫网站| 日韩美女一区二区三区| 久久久亚洲午夜电影| 国产日本欧美一区二区| 综合久久综合久久| 亚洲国产乱码最新视频| 首页国产欧美日韩丝袜| 久久精品国产亚洲aⅴ| 国产在线不卡一区| 成人听书哪个软件好| 91碰在线视频| 欧美综合欧美视频| 欧美军同video69gay| 日韩一区二区三区三四区视频在线观看| 日韩久久精品一区| 国产午夜精品久久久久久久| 中文字幕中文字幕在线一区 | 国产日本欧洲亚洲| 中文字幕二三区不卡| 亚洲欧美一区二区久久| 五月激情综合婷婷| 精品影院一区二区久久久| 国产在线一区观看| 99国产精品久久| 欧美老年两性高潮| 国产欧美日韩另类视频免费观看| 国产精品久久久久久亚洲伦| 亚洲国产美女搞黄色| 韩国欧美一区二区| 国产91精品一区二区麻豆亚洲| 色哦色哦哦色天天综合| 9191精品国产综合久久久久久| 精品国产免费久久| 亚洲码国产岛国毛片在线| 蜜臀a∨国产成人精品| 国产成人亚洲综合色影视 | 欧美成人精品3d动漫h| 国产网站一区二区| 亚洲精品日产精品乱码不卡| 秋霞影院一区二区| 不卡的av中国片| 日韩一区二区三区精品视频| 国产精品乱码妇女bbbb| 丝袜美腿成人在线| 成人动漫中文字幕| 欧美一区日韩一区| 中文字幕中文字幕一区二区| 秋霞电影一区二区| 色猫猫国产区一区二在线视频| 日韩一卡二卡三卡| 成人永久看片免费视频天堂| 在线观看日韩一区| 国产情人综合久久777777| 亚洲国产精品久久久男人的天堂| 国产成人精品综合在线观看| 欧美伦理电影网| 中文字幕一区二区三| 久久精品国产秦先生| 欧美影片第一页| 日本一区二区三区在线不卡| 日韩av中文字幕一区二区| 一本大道久久a久久综合| 久久一区二区三区国产精品| 天天色综合成人网| 91色视频在线| 国产拍欧美日韩视频二区| 久久成人免费网| 欧美日韩一区中文字幕| 国产精品福利在线播放| 国产在线播精品第三| 欧美一区二区三区婷婷月色| 亚洲综合在线视频| 国产99一区视频免费| 久久夜色精品国产欧美乱极品| 日韩福利电影在线| 色欧美日韩亚洲| 成人欧美一区二区三区小说| 国产成人激情av| 国产视频一区不卡| 国产老妇另类xxxxx| 久久综合色综合88| 美女在线观看视频一区二区| 欧美精三区欧美精三区| 亚洲一区二区三区免费视频| av福利精品导航| 国产网站一区二区| 国产v综合v亚洲欧| 国产欧美日韩另类视频免费观看| 精品在线播放免费| 欧美成人伊人久久综合网| 欧美a级一区二区| 制服丝袜中文字幕亚洲| 午夜不卡av免费| 欧美另类z0zxhd电影| 视频精品一区二区| 欧美喷水一区二区| 日本一不卡视频| 日韩精品一区二区三区三区免费| 麻豆视频一区二区| 日韩精品一区在线| 国产呦精品一区二区三区网站 | 一区二区三区电影在线播| 成人免费va视频| 国产精品久久福利| 91丝袜美腿高跟国产极品老师| 中文字幕一区二区三区在线不卡 | 麻豆精品在线观看| 欧美成人精品高清在线播放| 国产精品一区免费在线观看| 久久久国产午夜精品| 成人av先锋影音| 一区二区三区不卡在线观看| 欧美一区二区三区视频在线 | 精品免费日韩av| 国产成人a级片| 夜夜揉揉日日人人青青一国产精品| 欧美色爱综合网| 蓝色福利精品导航| 欧美激情一区二区三区全黄 | 国产日韩高清在线| jiyouzz国产精品久久| 夜夜嗨av一区二区三区四季av | 国产三级久久久| 色欧美片视频在线观看在线视频| 亚洲日本电影在线| 国产99久久久国产精品潘金| 日韩一级视频免费观看在线| 高清shemale亚洲人妖| 亚洲色图制服诱惑 | 欧美精品日韩精品| 极品少妇一区二区| 亚洲色大成网站www久久九九| 欧美日韩在线一区二区| 久久成人精品无人区| 中文字幕日韩欧美一区二区三区| 欧美日韩另类国产亚洲欧美一级| 久久电影网站中文字幕| 亚洲精品日日夜夜| 精品日韩一区二区三区 | 久久免费电影网| 在线观看日韩电影| 国产馆精品极品| 日韩在线一区二区三区| 中文字幕一区在线| 精品国产伦理网| 色94色欧美sute亚洲13| 国产精品一区二区黑丝| 日韩国产欧美一区二区三区| 中文成人综合网| 在线91免费看| 91美女在线观看| 国产成人精品三级麻豆| 青娱乐精品视频在线| 亚洲一区二区三区在线看| 久久久www免费人成精品| 51精品久久久久久久蜜臀|