⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svborder.java

📁 Office格式转换代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
         ) {        int thickness = getThickness(southBorderType);        thickness++;        int dashlength = 1;        if (southBorderType == HSSFCellStyle.BORDER_DASHED)           dashlength = 2;      	g.setColor(southColor);        for (int k=0; k < thickness; k++) {           for (int xc = x; xc < width; xc=xc+5) {             g.drawLine(xc,height-k,xc+dashlength,height-k);           }        }      }      if (westBorder &&            ((westBorderType == HSSFCellStyle.BORDER_DASHED) ||             (westBorderType == HSSFCellStyle.BORDER_HAIR))         ) {        int thickness = getThickness(westBorderType);//        thickness++;        int dashlength = 1;        if (westBorderType == HSSFCellStyle.BORDER_DASHED)           dashlength = 2;      	g.setColor(westColor);        for (int k=0; k < thickness; k++) {           for (int yc=y;yc < height; yc=yc+5) {                g.drawLine(x+k,yc,x+k,yc+dashlength);           }        }      }   }   /**    * Called by paintBorder to paint the double line    * borders for a cell.      */   private void paintDoubleBorders(Graphics g, int x, int y, int width,                                  int height) {      if (northBorder &&             northBorderType == HSSFCellStyle.BORDER_DOUBLE) {      	g.setColor(northColor);        int leftx=x;        int rightx=width;                // if there are borders on the west or east then                // the second line shouldn't cross them        if (westBorder)           leftx = x+3;        if (eastBorder)           rightx = width-3;           g.drawLine(x,y,width,y);           g.drawLine(leftx,y+2,rightx,y+2);      }      if (eastBorder &&              eastBorderType == HSSFCellStyle.BORDER_DOUBLE         ) {        int thickness = getThickness(eastBorderType);        thickness++; //need for dotted borders to show up east      	g.setColor(eastColor);        int topy=y;        int bottomy=height;        if (northBorder)          topy=y+3;        if (southBorder)            bottomy=height-3;        g.drawLine(width-1,y,width-1,height);        g.drawLine(width-3,topy,width-3,bottomy);      }      if (southBorder &&              southBorderType == HSSFCellStyle.BORDER_DOUBLE         ) {      	g.setColor(southColor);        int leftx=y;        int rightx=width;        if (westBorder)           leftx=x+3;        if (eastBorder)           rightx=width-3;        g.drawLine(x,height - 1,width,height - 1);        g.drawLine(leftx,height - 3,rightx,height - 3);      }      if (westBorder &&            westBorderType == HSSFCellStyle.BORDER_DOUBLE         ) {        int thickness = getThickness(westBorderType);//        thickness++;      	g.setColor(westColor);        int topy=y;        int bottomy=height-3;        if (northBorder)           topy=y+2;        if (southBorder)           bottomy=height-3;        g.drawLine(x,y,x,height);        g.drawLine(x+2,topy,x+2,bottomy);      }   }   /**    * Called by paintBorder to paint the various versions of dash dot dot line    * borders for a cell.      */   private void paintDashDotDotBorders(Graphics g, int x, int y, int width,                                  int height) {      if (northBorder &&             ((northBorderType == HSSFCellStyle.BORDER_DASH_DOT_DOT) ||              (northBorderType == HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT))         ) {        int thickness = getThickness(northBorderType);      	g.setColor(northColor);        for (int l=x; l < width;) {          l=l+drawDashDotDot(g, l, y, thickness, true, true);        }      }      if (eastBorder &&              ((eastBorderType == HSSFCellStyle.BORDER_DASH_DOT_DOT) ||               (eastBorderType == HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT))         ) {        int thickness = getThickness(eastBorderType);      	g.setColor(eastColor);        for (int l=y;l < height;) {          //System.err.println("drawing east");          l=l+drawDashDotDot(g,width-1,l,thickness,false,false);        }      }      if (southBorder &&              ((southBorderType == HSSFCellStyle.BORDER_DASH_DOT_DOT) ||               (southBorderType == HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT))         ) {        int thickness = getThickness(southBorderType);      	g.setColor(southColor);        for (int l=x; l < width;) {          //System.err.println("drawing south");          l=l+drawDashDotDot(g, l, height-1, thickness, true, false);        }      }      if (westBorder &&            ((westBorderType == HSSFCellStyle.BORDER_DASH_DOT_DOT) ||             (westBorderType == HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT))         ) {        int thickness = getThickness(westBorderType);      	g.setColor(westColor);        for (int l=y;l < height;) {          //System.err.println("drawing west");          l=l+drawDashDotDot(g,x,l,thickness,false,true);        }      }   }   /**    *  Draws one dash dot dot horizontally or vertically with thickness drawn    *  incrementally to either the right or left.    *    *  @param g graphics object for drawing with    *  @param x the x origin of the line    *  @param y the y origin of the line    *  @param thickness the thickness of the line    *  @param horizontal or vertical (true for horizontal)    *  @param right/bottom or left/top thickness (true for right or top),    *         if true then the x or y origin will be incremented to provide    *         thickness, if false, they'll be decremented.  For vertical    *         borders, x is incremented or decremented, for horizontal its y.    *         Just set to true for north and west, and false for east and    *         south.    *  @returns length - returns the length of the line.    */   private int drawDashDotDot(Graphics g,int x, int y, int thickness,                              boolean horizontal,                              boolean rightBottom) {      for (int t=0; t < thickness; t++) {         if (!rightBottom) {            t = 0 - t; //add negative thickness so we go the other way                       //then we'll decrement instead of increment.         }         if (horizontal) {            g.drawLine(x,y+t,x+5,y+t);            g.drawLine(x+8,y+t,x+10,y+t);            g.drawLine(x+13,y+t,x+15,y+t);         } else {            g.drawLine(x+t,y,x+t,y+5);            g.drawLine(x+t,y+8,x+t,y+10);            g.drawLine(x+t,y+13,x+t,y+15);         }      }      return 18;   }   /**    * @returns the line thickness for a border based on border type    */   private int getThickness(int thickness) {       int retval=1;       switch (thickness) {           case HSSFCellStyle.BORDER_THIN:             retval=2;             break;           case HSSFCellStyle.BORDER_MEDIUM:             retval=3;             break;           case HSSFCellStyle.BORDER_THICK:             retval=4;             break;           case HSSFCellStyle.BORDER_DASHED:             retval=1;             break;           case HSSFCellStyle.BORDER_DASH_DOT_DOT:             retval=1;             break;           case HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT:             retval=3;             break;           case HSSFCellStyle.BORDER_HAIR:             retval=1;             break;           default:             retval=1;       }       return retval;   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -