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

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

?? dynatablewidget.java

?? netbeans開發(fā)gwt程式的插件
?? JAVA
字號:
/* * Copyright 2006 Google Inc. *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at *  * http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */package com.google.gwt.sample.dynatable.client;import com.google.gwt.sample.dynatable.client.DynaTableDataProvider.RowDataAcceptor;import com.google.gwt.user.client.rpc.InvocationException;import com.google.gwt.user.client.ui.Button;import com.google.gwt.user.client.ui.ClickListener;import com.google.gwt.user.client.ui.Composite;import com.google.gwt.user.client.ui.DialogBox;import com.google.gwt.user.client.ui.DockPanel;import com.google.gwt.user.client.ui.Grid;import com.google.gwt.user.client.ui.HTML;import com.google.gwt.user.client.ui.HasAlignment;import com.google.gwt.user.client.ui.HorizontalPanel;import com.google.gwt.user.client.ui.VerticalPanel;import com.google.gwt.user.client.ui.Widget;/** * A composite Widget that implements the main interface for the dynamic table, * including the data table, status indicators, and paging buttons. */public class DynaTableWidget extends Composite {  /**   * A dialog box for displaying an error.   */  private static class ErrorDialog extends DialogBox implements ClickListener {    private HTML body = new HTML("");    public ErrorDialog() {      setStylePrimaryName("DynaTable-ErrorDialog");      Button closeButton = new Button("Close", this);      VerticalPanel panel = new VerticalPanel();      panel.setSpacing(4);      panel.add(body);      panel.add(closeButton);      panel.setCellHorizontalAlignment(closeButton, VerticalPanel.ALIGN_RIGHT);      setWidget(panel);    }    public String getBody() {      return body.getHTML();    }    public void onClick(Widget sender) {      hide();    }    public void setBody(String html) {      body.setHTML(html);    }  }  private class NavBar extends Composite implements ClickListener {    public final DockPanel bar = new DockPanel();    public final Button gotoFirst = new Button("&lt;&lt;", this);    public final Button gotoNext = new Button("&gt;", this);    public final Button gotoPrev = new Button("&lt;", this);    public final HTML status = new HTML();    public NavBar() {      initWidget(bar);      bar.setStyleName("navbar");      status.setStyleName("status");      HorizontalPanel buttons = new HorizontalPanel();      buttons.add(gotoFirst);      buttons.add(gotoPrev);      buttons.add(gotoNext);      bar.add(buttons, DockPanel.EAST);      bar.setCellHorizontalAlignment(buttons, DockPanel.ALIGN_RIGHT);      bar.add(status, DockPanel.CENTER);      bar.setVerticalAlignment(DockPanel.ALIGN_MIDDLE);      bar.setCellHorizontalAlignment(status, HasAlignment.ALIGN_RIGHT);      bar.setCellVerticalAlignment(status, HasAlignment.ALIGN_MIDDLE);      bar.setCellWidth(status, "100%");      // Initialize prev & first button to disabled.      //      gotoPrev.setEnabled(false);      gotoFirst.setEnabled(false);    }    public void onClick(Widget sender) {      if (sender == gotoNext) {        startRow += getDataRowCount();        refresh();      } else if (sender == gotoPrev) {        startRow -= getDataRowCount();        if (startRow < 0) {          startRow = 0;        }        refresh();      } else if (sender == gotoFirst) {        startRow = 0;        refresh();      }    }  }  private class RowDataAcceptorImpl implements RowDataAcceptor {    public void accept(int startRow, String[][] data) {      int destRowCount = getDataRowCount();      int destColCount = grid.getCellCount(0);      assert (data.length <= destRowCount) : "Too many rows";      int srcRowIndex = 0;      int srcRowCount = data.length;      int destRowIndex = 1; // skip navbar row      for (; srcRowIndex < srcRowCount; ++srcRowIndex, ++destRowIndex) {        String[] srcRowData = data[srcRowIndex];        assert (srcRowData.length == destColCount) : " Column count mismatch";        for (int srcColIndex = 0; srcColIndex < destColCount; ++srcColIndex) {          String cellHTML = srcRowData[srcColIndex];          grid.setText(destRowIndex, srcColIndex, cellHTML);        }      }      // Clear remaining table rows.      //      boolean isLastPage = false;      for (; destRowIndex < destRowCount + 1; ++destRowIndex) {        isLastPage = true;        for (int destColIndex = 0; destColIndex < destColCount; ++destColIndex) {          grid.clearCell(destRowIndex, destColIndex);        }      }      // Synchronize the nav buttons.      navbar.gotoNext.setEnabled(!isLastPage);      navbar.gotoFirst.setEnabled(startRow > 0);      navbar.gotoPrev.setEnabled(startRow > 0);      // Update the status message.      //      setStatusText((startRow + 1) + " - " + (startRow + srcRowCount));    }    public void failed(Throwable caught) {      setStatusText("Error");      if (errorDialog == null) {        errorDialog = new ErrorDialog();      }      if (caught instanceof InvocationException) {        errorDialog.setText("An RPC server could not be reached");        errorDialog.setBody(NO_CONNECTION_MESSAGE);      } else {        errorDialog.setText("Unexcepted Error processing remote call");        errorDialog.setBody(caught.getMessage());      }      errorDialog.center();    }  }  private static final String NO_CONNECTION_MESSAGE = "<p>The DynaTable example uses a <a href=\"http://code.google.com/"      + "webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide."      + "RemoteProcedureCalls.html\" target=\"_blank\">Remote Procedure Call</a> "      + "(RPC) to request data from the server.  In order for the RPC to "      + "successfully return data, the server component must be available.</p>"      + "<p>If you are running this demo from compiled code, the server "      + "component may not be available to respond to the RPC requests from "      + "DynaTable.  Try running DynaTable in hosted mode to see the demo "      + "in action.</p> "      + "<p>Click on the Remote Procedure Call link above for more information "      + "on GWT's RPC infrastructure.";  private final RowDataAcceptor acceptor = new RowDataAcceptorImpl();  private final Grid grid = new Grid();  private final NavBar navbar = new NavBar();  private ErrorDialog errorDialog = null;  private final DockPanel outer = new DockPanel();  private final DynaTableDataProvider provider;  private int startRow = 0;  public DynaTableWidget(DynaTableDataProvider provider, String[] columns,      String[] columnStyles, int rowCount) {    if (columns.length == 0) {      throw new IllegalArgumentException(          "expecting a positive number of columns");    }    if (columnStyles != null && columns.length != columnStyles.length) {      throw new IllegalArgumentException("expecting as many styles as columns");    }    this.provider = provider;    initWidget(outer);    grid.setStyleName("table");    outer.add(navbar, DockPanel.NORTH);    outer.add(grid, DockPanel.CENTER);    initTable(columns, columnStyles, rowCount);    setStyleName("DynaTable-DynaTableWidget");  }  public void clearStatusText() {    navbar.status.setHTML("&nbsp;");  }  public void refresh() {    // Disable buttons temporarily to stop the user from running off the end.    //    navbar.gotoFirst.setEnabled(false);    navbar.gotoPrev.setEnabled(false);    navbar.gotoNext.setEnabled(false);    setStatusText("Please wait...");    provider.updateRowData(startRow, grid.getRowCount() - 1, acceptor);  }  public void setRowCount(int rows) {    grid.resizeRows(rows);  }  public void setStatusText(String text) {    navbar.status.setText(text);  }  private int getDataRowCount() {    return grid.getRowCount() - 1;  }  private void initTable(String[] columns, String[] columnStyles, int rowCount) {    // Set up the header row. It's one greater than the number of visible rows.    //    grid.resize(rowCount + 1, columns.length);    for (int i = 0, n = columns.length; i < n; i++) {      grid.setText(0, i, columns[i]);      if (columnStyles != null) {        grid.getCellFormatter().setStyleName(0, i, columnStyles[i] + " header");      }    }  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人久久人人人人爽| 成人av免费在线播放| 色哟哟国产精品免费观看| 国产欧美视频一区二区三区| 国产精品一区三区| 亚洲国产精品传媒在线观看| jlzzjlzz国产精品久久| 亚洲在线视频免费观看| 欧美色图在线观看| 免费日本视频一区| 国产日韩欧美在线一区| 99国产欧美另类久久久精品 | 狂野欧美性猛交blacked| 久久男人中文字幕资源站| 成人综合婷婷国产精品久久蜜臀| 中文字幕中文字幕一区二区| 91福利社在线观看| 久久精品国产99国产| 国产精品麻豆久久久| 欧美揉bbbbb揉bbbbb| 国产美女娇喘av呻吟久久| 亚洲欧美综合在线精品| 欧美裸体bbwbbwbbw| 久久99精品一区二区三区| 久久久影视传媒| 在线观看视频欧美| 韩国欧美国产一区| 亚洲免费视频成人| 日韩免费观看高清完整版在线观看| 国产一二精品视频| 一区二区三区在线播| 精品久久久久久亚洲综合网 | 蜜乳av一区二区| 日本一区二区三区免费乱视频 | 亚洲成人动漫av| 国产区在线观看成人精品| 欧美系列日韩一区| 国产成人免费在线观看不卡| 亚洲一区二区黄色| 中文字幕一区二区三区在线播放 | 日韩三级视频中文字幕| 一本大道综合伊人精品热热| 国产一区二三区| 性欧美大战久久久久久久久| 国产女主播一区| 欧美一级免费大片| 色8久久精品久久久久久蜜 | 青青草一区二区三区| 一区二区三区在线免费视频| 国产亚洲一本大道中文在线| 9191成人精品久久| 91麻豆文化传媒在线观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲福利电影网| 伊人婷婷欧美激情| 久久精品免费在线观看| 日韩欧美电影在线| 欧美乱熟臀69xxxxxx| 色偷偷88欧美精品久久久| 成人一级片在线观看| 国产乱一区二区| 久久er精品视频| 日韩黄色在线观看| 亚洲高清免费视频| 亚洲欧美激情小说另类| 国产精品卡一卡二| 国产拍揄自揄精品视频麻豆| 久久久综合激的五月天| 欧美成人精品1314www| 91精品一区二区三区久久久久久| 欧美性猛交xxxx乱大交退制版| 成人白浆超碰人人人人| 99久久综合狠狠综合久久| 国产乱对白刺激视频不卡| 久久99精品久久久久久动态图| 免费高清视频精品| 奇米色一区二区三区四区| 亚洲成人久久影院| 日韩av一级片| 乱中年女人伦av一区二区| 免费在线观看精品| 国产在线精品免费av| 韩国女主播一区| 国产精品996| 成人免费视频一区| 99在线热播精品免费| av不卡免费在线观看| 色婷婷av一区二区三区大白胸| 91首页免费视频| 欧美性猛交一区二区三区精品 | 欧美日韩的一区二区| 7777精品伊人久久久大香线蕉经典版下载| 五月婷婷久久综合| 免费观看久久久4p| 国产精品综合av一区二区国产馆| 国产经典欧美精品| hitomi一区二区三区精品| 91丨九色porny丨蝌蚪| 欧美日韩综合不卡| 欧美大片国产精品| 欧美国产综合一区二区| 亚洲精品va在线观看| 性做久久久久久久久| 久久国产夜色精品鲁鲁99| 成人听书哪个软件好| 色av成人天堂桃色av| 欧美一区二区三区公司| 国产日产精品1区| 一区二区视频在线看| 日韩制服丝袜av| 国产成人av影院| 99国产精品久久久久久久久久 | 天天综合色天天| 久久国产综合精品| 99re热视频这里只精品| 4438x成人网最大色成网站| 久久综合资源网| 一区二区三区丝袜| 国产乱码精品一区二区三区av | 国产成人日日夜夜| 欧美日精品一区视频| 中文子幕无线码一区tr| 亚洲va天堂va国产va久| 国产精品亚洲一区二区三区在线 | 欧美一级日韩一级| 中文字幕日本乱码精品影院| 日韩制服丝袜av| 一本一道久久a久久精品| 日韩欧美一区二区视频| 亚洲黄色片在线观看| 国产自产v一区二区三区c| 欧美色精品在线视频| 欧美激情一区二区三区不卡| 日本欧美肥老太交大片| 9色porny自拍视频一区二区| 精品国产乱码久久久久久浪潮| 一区二区高清在线| 成人在线一区二区三区| 欧美丰满美乳xxx高潮www| 亚洲男同1069视频| 国产成人亚洲精品青草天美| 欧美一区二区高清| 性久久久久久久久| 91免费精品国自产拍在线不卡| 精品国产乱码久久久久久免费 | 亚洲日本免费电影| 国产91富婆露脸刺激对白 | 精品久久久久久亚洲综合网| 亚洲午夜影视影院在线观看| 99精品国产视频| 国产精品区一区二区三| 狠狠色综合播放一区二区| 337p亚洲精品色噜噜噜| 亚洲一区在线观看视频| 91在线国产福利| 国产精品毛片高清在线完整版| 韩国精品主播一区二区在线观看| 欧美一三区三区四区免费在线看| 亚洲不卡av一区二区三区| 色妞www精品视频| 亚洲日本免费电影| 91蝌蚪porny九色| 亚洲欧美日韩在线| 91福利在线看| 亚洲成人一区二区在线观看| 欧美最猛黑人xxxxx猛交| 亚洲精品视频免费看| 在线观看免费亚洲| 亚洲一区影音先锋| 欧美日韩国产色站一区二区三区| 亚洲影院在线观看| 欧洲人成人精品| 亚洲地区一二三色| 91精品免费观看| 理论电影国产精品| 久久综合色婷婷| 大白屁股一区二区视频| 国产精品久久三| 色av一区二区| 日韩一区精品字幕| 精品国偷自产国产一区| 精品一区二区久久久| 欧美激情中文字幕一区二区| 99久久777色| 亚洲成人久久影院| 精品免费日韩av| 成人国产在线观看| 一区二区三区高清在线| 6080日韩午夜伦伦午夜伦| 另类小说色综合网站| 国产日产欧美一区| 欧美这里有精品| 久久精品国产亚洲一区二区三区| 2019国产精品| 在线中文字幕不卡| 免费成人小视频| 中文欧美字幕免费| 欧美高清视频不卡网| 国产资源在线一区| 最新成人av在线|