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

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

?? xlist.java

?? 借的別人的 只想在這里下點東西
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:


  /************************************************************************
   * Paints the XList.
   * @param g      the graphical context
   ************************************************************************/

  public synchronized void paint(Graphics g) {
    int iX, iY, iWidth, iHeight, iNrOfRows, iLineHeight, iNrOfLinesSoFar;
    String strRowSplitter[][];
    String strHeader;
    Rectangle recLine;
    Point pntPosition;
    Graphics graBuffer;

    iWidth = getWidth();
    iHeight = getHeight();

    if (imgBuffer == null || imgBuffer.getWidth(this) != iWidth || imgBuffer.getHeight(this) != iHeight) {
      imgBuffer = createImage(iWidth, iHeight);
    }

    graBuffer = imgBuffer.getGraphics();
    graBuffer.setColor(Color.white);
    graBuffer.fillRect(0, 0, iWidth, iHeight);

    iNrOfRows = getNrOfRows();
    iLineHeight = getLineHeight();

    graBuffer.setFont(fntFont);

    iNrOfLinesPerRow = new int[iNrOfRows];
    iNrOfLinesUntilRow = new int[iNrOfRows];
    iNrOfLinesSoFar = 0;
    for (int i = 0; i < iNrOfRows; i++) {
      strRowSplitter = getRowSplitter(i);
      iNrOfLinesPerRow[i] = strRowSplitter[0].length;
      iNrOfLinesUntilRow[i] = iNrOfLinesSoFar;
      for (int j = 0; j < iNrOfLinesPerRow[i]; j++) {
        if (iNrOfLinesSoFar >= iFirstVisibleLine && iNrOfLinesSoFar <= iFirstVisibleLine + iNrOfVisibleLines) {
          if (i == iSelectedRow && bSelectable) {
            recLine = getLineRectangle(iNrOfLinesSoFar);
            graBuffer.setColor(Color.gray);
            graBuffer.fillRect(recLine.x, recLine.y, recLine.width, recLine.height);
            graBuffer.setColor(Color.white);
          }
          else if (vecColor.size() > i) {
            graBuffer.setColor((Color)vecColor.elementAt(i));
          }
          for (int k = 0; k < iNrOfColumns; k++) {
            if (iColumnOrientation[k] == RIGHT) {
              pntPosition = getRightTextPosition(k, iNrOfLinesSoFar, strRowSplitter[k][j]);
            }
            else {
              pntPosition = getLeftTextPosition(k, iNrOfLinesSoFar);
            }
            graBuffer.drawString(strRowSplitter[k][j], pntPosition.x, pntPosition.y);
          }
        }
        iNrOfLinesSoFar++;
      }
    }
    if (iNrOfRows > 0) {
      iNrOfLines = iNrOfLinesUntilRow[iNrOfRows - 1] + iNrOfLinesPerRow[iNrOfRows - 1];
    }

    graBuffer.setColor(Color.lightGray);
    graBuffer.fillRect(1, 0, iWidth - 1, iLineHeight - 1);

    iX = 1;

    for (int i = 0; i < iNrOfColumns; i++) {
      graBuffer.setColor(Color.white);
      graBuffer.drawLine(iX, 1, iX + iColumnWidth[i] - 2, 1);
      graBuffer.drawLine(iX, 1, iX, iLineHeight - 1);

      graBuffer.setColor(Color.darkGray);
      graBuffer.drawLine(iX, iLineHeight - 1, iX + iColumnWidth[i] - 2, iLineHeight - 1);
      graBuffer.drawLine(iX + iColumnWidth[i] - 2, 1, iX + iColumnWidth[i] - 2, iLineHeight - 1);

      graBuffer.setColor(Color.black);
      graBuffer.drawLine(iX + iColumnWidth[i] - 1, 1, iX + iColumnWidth[i] - 1, iHeight);
      iX += iColumnWidth[i];

      strHeader = getFormatedText(strColumnHeader[i], i, iColumnOrientation[i] == RIGHT ? RIGHT : LEFT);
      if (iColumnOrientation[i] == RIGHT) {
        pntPosition = getRightTextPosition(i, iFirstVisibleLine - 1, strHeader);
      }
      else {
        pntPosition = getLeftTextPosition(i, iFirstVisibleLine - 1);
      }
      graBuffer.drawString(strHeader, pntPosition.x, pntPosition.y);
    }

    graBuffer.setColor(Color.black);
    graBuffer.drawRect(0, 0, iWidth - 1, iHeight - 1);

    g.drawImage(imgBuffer, 0, 0, this);
    updateScrollbar();

  }


/**
 * Invoked when the mouse has been dragged on a component.
 *
 * @param event      the MouseEvent
 */

  public void mouseDragged(MouseEvent event) {
    int iDeltaX;
    if (getCursor().getType() == Cursor.E_RESIZE_CURSOR) {
      iDeltaX = event.getX() - iColumnDraggedX;
      if (iColumnWidth[iColumnSeparator] + iDeltaX >= MINIMUM_COLUMNWIDTH && iColumnWidth[iColumnSeparator + 1] - iDeltaX >= MINIMUM_COLUMNWIDTH) {
        iColumnWidth[iColumnSeparator] += iDeltaX;
        iColumnWidth[iColumnSeparator + 1] -= iDeltaX;
        iColumnDraggedX = event.getX();
        repaint();
        if (iFirstVisibleLine > iNrOfLines - 1) {
          scrollTo(iNrOfLines - 1);
        }
      }
    }
  }


/**
 * Invoked when the mouse has been moved on a component.
 *
 * @param event      the MouseEvent
 */

  public void mouseMoved(MouseEvent event) {
    if (getCursor().getType() == Cursor.E_RESIZE_CURSOR && getColumnSeparator(event.getX()) == -1) {
      setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
    }
    else if (getCursor().getType() == Cursor.DEFAULT_CURSOR && (iColumnSeparator = getColumnSeparator((iColumnDraggedX = event.getX()))) != -1) {
      setCursor(new Cursor(Cursor.E_RESIZE_CURSOR));
    }
  }


/**
 * Invoked when a key has been pressed on a component.
 *
 * @param event      the KeyEvent
 */

  public void keyPressed(KeyEvent event) {
    if (bSelectable) {
      if (event.getKeyCode() == KeyEvent.VK_DOWN && iSelectedRow < getNrOfRows() - 1) {
        iSelectedRow++;
        if (!rowIsVisible(iSelectedRow)) {
          scrollTo(iNrOfLinesUntilRow[iSelectedRow] + iNrOfLinesPerRow[iSelectedRow] - iNrOfVisibleLines);
        }
        else {
          repaint();
        }
      }
      else if (event.getKeyCode() == KeyEvent.VK_UP && iSelectedRow > 0) {
        iSelectedRow--;
        if (!rowIsVisible(iSelectedRow)) {
          scrollTo(iNrOfLinesUntilRow[iSelectedRow]);
        }
        else {
          repaint();
        }
      }
    }
  }


/**
 * Invoked when a key has been released on a component.
 *
 * @param event      the KeyEvent
 */

  public void keyReleased(KeyEvent event) {
  }


/**
 * Invoked when a key has been typed on a component.
 *
 * @param event      the KeyEvent
 */

  public void keyTyped(KeyEvent event) {
  }


/**
 * Invoked when the mouse has been released on a component.
 *
 * @param event      the MouseEvent
 */

  public void mouseReleased(MouseEvent event) {
    int iRow;
    if (bSelectable) {
      iRow = getRowAtPixel(event.getY());
      if (iRow != -1 && iRow != iSelectedRow) {
        iSelectedRow = getRowAtPixel(event.getY());
        repaint();
      }
    }
  }


/**
 * Invoked when the mouse has entered a component.
 *
 * @param event      the MouseEvent
 */

  public void mouseEntered(MouseEvent event) {
  }


/**
 * Invoked when the mouse has exited a component.
 *
 * @param event      the MouseEvent
 */

  public void mouseExited(MouseEvent event) {
  }


/**
 * Invoked when the mouse has been pressed on a component.
 *
 * @param event      the MouseEvent
 */

  public void mousePressed(MouseEvent event) {
  }


/**
 * Invoked when the mouse has been clicked on a component.
 *
 * @param event      the MouseEvent
 */

  public void mouseClicked(MouseEvent event) {
  }


/**
 * Invoked when the value of the adjustable has changed.
 *
 * @param event      the AdjustmentEvent
 */

  public void adjustmentValueChanged(AdjustmentEvent event) {
    scrollTo(event.getValue());
  }


  /************************************************************************
   * Scrolls to a certain line.
   * @param iLineParam      the line's index
   ************************************************************************/

  private synchronized void scrollTo(int iLineParam) {
    if (iLineParam >= 0 && iLineParam < iNrOfLines && iLineParam != iFirstVisibleLine) {
      iFirstVisibleLine = iLineParam;
      repaint();
    }
  }


  /************************************************************************
   * Determines if a row is visible or not.
   * @param iRowParam      the row's index
   ************************************************************************/

  private boolean rowIsVisible(int iRowParam) {
    return iRowParam >= getRowOfLine(iFirstVisibleLine) && (iNrOfLines < iNrOfVisibleLines || iRowParam <= getRowOfLine(iFirstVisibleLine + iNrOfVisibleLines - 1));
  }


  /************************************************************************
   * Returns the row's index a line is belonging to.
   * @param iLineParam      the line's index
   ************************************************************************/

  private synchronized int getRowOfLine(int iLineParam) {
    int iLineCounter;
    iLineCounter = 0;
    for (int i = 0; i < getNrOfRows(); i++) {
      iLineCounter += iNrOfLinesPerRow[i];
      if (iLineCounter > iLineParam) {
        return i;
      }
    }
    return -1;
  }


  /************************************************************************
   * Returns the row's index at a certain pixel.
   * @param iYParam      the pixel's y-coordinate
   ************************************************************************/

  private synchronized int getRowAtPixel(int iYParam) {
    return (iYParam > getLineHeight() ? getRowOfLine(iFirstVisibleLine + iYParam / getLineHeight() - 1) : -1);
  }


  /************************************************************************
   * Returns the index of the column-separator at a certain pixel.
   * @param iXParam      the pixel's x-coordinate
   ************************************************************************/

  public synchronized int getColumnSeparator(int iXParam) {
    int iX;
    iX = 0;
    for (int i = 0; i < iNrOfColumns - 1; i++) {
      iX += iColumnWidth[i];
      if (iX - HORIZONTAL_CELL_SPACING <= iXParam && iXParam <= iX + HORIZONTAL_CELL_SPACING) {
        return i;
      }
    }
    return -1;
  }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日精品一区视频| 成人永久aaa| 亚洲一区二区三区四区的| 中文字幕字幕中文在线中不卡视频| 久久久久久久久久久电影| 日韩欧美在线综合网| 欧美大片在线观看一区| 国产亚洲精品超碰| 国产精品久久久久久久久快鸭| 中文av一区二区| 亚洲女同女同女同女同女同69| 亚洲精品免费视频| 亚洲高清在线视频| 麻豆91小视频| aa级大片欧美| 欧美电影影音先锋| 久久先锋影音av鲁色资源| 国产精品色婷婷| 亚洲精品国产无天堂网2021| 性感美女久久精品| 国产精品影视在线| 在线观看国产日韩| 日韩欧美成人一区二区| 国产精品乱码人人做人人爱 | 成人午夜激情影院| 色综合久久综合| 欧美一区二区免费| 中文字幕一区三区| 青娱乐精品视频| 成人美女视频在线观看18| 欧美日韩中文字幕一区| 久久久久久久久蜜桃| 亚洲精品一二三四区| 久久99国产精品成人| 91网上在线视频| 精品91自产拍在线观看一区| 亚洲欧美在线视频观看| 捆绑调教美女网站视频一区| 91丨九色丨蝌蚪丨老版| 欧美大片日本大片免费观看| 一区二区三区在线高清| 国产99久久久国产精品免费看| 91久久一区二区| 中文字幕第一页久久| 蜜臀精品久久久久久蜜臀| 色又黄又爽网站www久久| 久久久亚洲精品石原莉奈| 亚洲成a人片综合在线| www.欧美精品一二区| 精品福利二区三区| 香蕉成人伊视频在线观看| 99久久精品情趣| 久久久国产精品不卡| 久久www免费人成看片高清| 欧美日韩精品欧美日韩精品| 中文字幕亚洲综合久久菠萝蜜| 久久99国产乱子伦精品免费| 777奇米四色成人影色区| 一区二区三区中文字幕在线观看| 成人永久免费视频| 国产三级精品三级在线专区| 久久99精品国产.久久久久久| 欧美一区二区三区在线| 天天色综合天天| 欧美日韩精品系列| 亚洲不卡在线观看| 欧美日韩卡一卡二| 亚洲在线成人精品| 91福利国产成人精品照片| 亚洲欧美日韩精品久久久久| www.欧美色图| 自拍偷拍国产亚洲| 91激情在线视频| 一区二区三区四区不卡在线 | 亚洲一卡二卡三卡四卡无卡久久| 成人一区二区三区在线观看| 欧美国产禁国产网站cc| 粉嫩在线一区二区三区视频| 国产精品免费aⅴ片在线观看| 成人美女在线观看| 亚洲精品视频在线| 3d成人动漫网站| 日av在线不卡| 久久婷婷色综合| 成人精品免费网站| 亚洲午夜久久久久久久久久久| 欧美日韩激情在线| 欧美aⅴ一区二区三区视频| 欧美成人aa大片| 国产成人精品www牛牛影视| 中文字幕制服丝袜成人av| 色94色欧美sute亚洲线路一ni| 亚洲综合小说图片| 精品日韩在线观看| 播五月开心婷婷综合| 亚洲一区二区三区四区中文字幕| 欧美疯狂做受xxxx富婆| 国产乱人伦偷精品视频不卡| 亚洲人成在线播放网站岛国| 欧美人xxxx| 成人丝袜高跟foot| 一区二区三区成人在线视频| 日韩欧美国产系列| 99视频国产精品| 蜜桃视频一区二区| 日韩毛片一二三区| 欧美变态tickle挠乳网站| 99综合影院在线| 免费日韩伦理电影| 亚洲视频在线观看一区| 日韩一区二区三| 色猫猫国产区一区二在线视频| 久久精工是国产品牌吗| 成人欧美一区二区三区1314| 91精品国产欧美一区二区18| 不卡av在线网| 久久99精品国产麻豆不卡| 亚洲一二三区在线观看| 久久久久国产精品麻豆| 欧美精品亚洲一区二区在线播放| 国产不卡在线视频| 麻豆成人免费电影| 日精品一区二区| 亚洲精品福利视频网站| 国产日韩精品视频一区| 欧美大胆人体bbbb| 欧美色手机在线观看| 成人激情黄色小说| 韩国视频一区二区| 美女任你摸久久| 午夜久久久久久电影| 一区二区三区视频在线观看| 久久精品人人做人人综合| 日韩欧美一区二区免费| 91精品免费观看| 欧美日韩aaa| 欧美日韩中文字幕一区二区| 91麻豆国产福利在线观看| 懂色一区二区三区免费观看| 国产一区二区在线观看视频| 久久草av在线| 精品一二线国产| 日韩精品视频网站| 日韩电影免费在线看| 亚洲午夜精品在线| 亚洲最大的成人av| 一区二区国产视频| 亚洲成人手机在线| 亚洲国产美女搞黄色| 亚洲香蕉伊在人在线观| 亚洲国产毛片aaaaa无费看 | 欧美日韩中文精品| 欧美日韩精品久久久| 91精品国产色综合久久不卡蜜臀 | 菠萝蜜视频在线观看一区| www.日韩精品| 91在线小视频| 欧美性生活一区| 欧美高清精品3d| 日韩欧美亚洲另类制服综合在线| 日韩欧美在线网站| 久久精品日韩一区二区三区| 欧美激情综合在线| 最新日韩av在线| 亚洲韩国精品一区| 奇米在线7777在线精品| 国内精品写真在线观看| 东方欧美亚洲色图在线| 色视频欧美一区二区三区| 欧美日韩一卡二卡三卡| 日韩精品资源二区在线| 亚洲国产精品激情在线观看| 亚洲图片欧美激情| 一区二区久久久久| 久久国内精品视频| 91网站黄www| 日韩一区二区三区av| 国产欧美视频一区二区三区| 亚洲一区日韩精品中文字幕| 久久精品国产澳门| 成人av影视在线观看| 欧美老人xxxx18| 久久久久久久久蜜桃| 亚洲一区二区在线免费看| 麻豆成人免费电影| 色综合久久中文综合久久牛| 欧美大片免费久久精品三p| 综合亚洲深深色噜噜狠狠网站| 午夜精品福利一区二区三区av | 免费观看一级欧美片| av色综合久久天堂av综合| 欧美另类z0zxhd电影| 中国色在线观看另类| 日韩精品福利网| 91丨porny丨户外露出| 欧美不卡在线视频| 亚洲免费观看高清完整版在线 | 色欧美88888久久久久久影院| 日韩精品一区二区三区老鸭窝| 亚洲精品高清视频在线观看|