• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    CellEditor-DialogCellEditor編輯方式怎么使用

    eclipse中的TableViewer,供給了多種編纂體例CellEditor:TextCellEditor、CheckboxCellEditor、ComboBoxCellEditor、DialogCellEditor。下面講解DialogCellEditor這個編纂體例怎么利用。我寫的經驗對你進修java有幫忙的話,給我投票、點贊或者保藏!

    1把中的數據排序

    1中實現過濾數據

    2怎么檢測輸入字符串劃定的格局

    東西/原料

    • eclipse rcp 4.5.2

    方式/步調

    1. 1

      新建一個swt-java項目,項目標名子為javatable。

    2. 2

      成立一個shell窗口,窗口的名字為javatable。

    3. 3

      在窗口中增添一個TableViewer。TableViewerColumn。

    4. 4

      在table的數據成立一個實體類。

      public class jilu{

      private String mingcheng="";

      public String getmingcheng(){

      return this.mingcheng;

      }

      public void setmingcheng(String mingcheng){

      this.mingcheng=mingcheng;

      }

      }

    5. 5

      新建一個標簽類,把數據顯示在table中。

      public class mcbiaoqian implements ITableLabelProvider  {

      @Override

      public void addListener(ILabelProviderListener listener) {

      }

      @Override

      public void dispose() {

      }

      @Override

      public boolean isLabelProperty(Object element, String property) {

      return false;

      }

      @Override

      public void removeListener(ILabelProviderListener listener) {

      }

      @Override

      public Image getColumnImage(Object element, int columnIndex) {

      return null;

      }

      @Override

      public String getColumnText(Object element, int columnIndex) {

      if (element instanceof jilu){

      jilu xx = (jilu)element;

      switch(columnIndex){

      case 0:

      return xx.getmingcheng();

      }

      }

      return null;

      }

      }

    6. 6

      新建一個數據的容器類,讀取一行數據。

      public class mcrongqi implements IStructuredContentProvider {

      public Object[] getElements(Object inputElement) {

      if(inputElement instanceof List){

      return ((List<?>)inputElement).toArray();

      }else{

      return new Object[0];

      }

      }

      public void dispose() {

      }

      public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

      }

      }

    7. 7

      新建一個編纂類,許可在table中編纂數據。

      public class bjmingcheng implements ICellModifier{

      @Override

      public boolean canModify(Object element, String property) {

      return true;

      }

      @Override

      public Object getValue(Object element, String property) {

      jilu wp=(jilu) element;

      switch(property){

      case "mingcheng":

      return wp.getmingcheng();

      }

      return null;

      }

      @Override

      public void modify(Object element, String property, Object value) {

      if(element==null){

      return;

      }

      TableItem ti=(TableItem)element;

      jilu wp=(jilu)ti.getData();

      switch(property){

      case "mingcheng":

      wp.setmingcheng((String)value);

      break;

      }

      tv.update(wp, null);

      }

      }

    8. 8

      新建一個窗口編纂的類,可以彈出窗口,在編纂的內容返回到table中顯示,我沒有新建一個窗口,我返回的是字符串。

      public class mcDialogCellEditor extends DialogCellEditor {

      public mcDialogCellEditor(Composite parent, int style){

      super(parent,style);

      }

      @Override

      protected Object openDialogBox(Control cellEditorWindow) {

      return "插件  項目";

      }

      }

    9. 9

      把界說的類初始化:

      tv.setLabelProvider(new mcbiaoqian());

      tv.setContentProvider(new mcrongqi());

      List<jilu> li=new ArrayList<jilu>();

      li.add(new jilu());

      li.add(new jilu());

      tv.setInput(li);

      String[] lm={"mingcheng"};

      tv.setColumnProperties(lm);

      tv.setCellModifier(new bjmingcheng());

      CellEditor[] cell = new CellEditor[1]; 

      cell[0]=new mcDialogCellEditor(table,SWT.BORDER);

      tv.setCellEditors(cell);

    10. 10

      運行項目成果如下圖。

    • 發表于 2019-01-05 00:00
    • 閱讀 ( 748 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆