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

    rcp視圖之間使用監聽傳遞參數

    在rcp插件之中視圖間的信息怎么傳遞到其他視圖中的呢?在打開視圖的方式中也沒有參數機關方式,插件中利用監聽來傳遞參數。我寫的經驗對你進修java有幫忙的話,給我投票、點贊或者保藏!

    1中表格隔行變色

    1中怎么利用自界說窗口

    1數據庫怎么利用游標

    東西/原料

    • eclipse

    方式/步調

    1. 1

      新建一個插件項目,項目標名稱為jianting.

    2. 2

      在項目中新建2個視圖view1,view2,打開Perspective.java這個文件,把視圖打開。

      IFolderLayout left=layout.createFolder("left", IPageLayout.LEFT, 0.5f, IPageLayout.ID_EDITOR_AREA);

      left.addView(view1.ID);

      IFolderLayout bottom=layout.createFolder("bottom", IPageLayout.BOTTOM, 0.5f, IPageLayout.ID_EDITOR_AREA);

      bottom.addView(view2.ID);

    3. 3

      在view1視圖中成立一個發送類:

      public class fasong implements ISelectionProvider{

      List<ISelectionChangedListener> listeners = new ArrayList<ISelectionChangedListener>();

      ISelection theselection = StructuredSelection.EMPTY;

      @Override

      public void addSelectionChangedListener(ISelectionChangedListener listener) {

      listeners.add(listener);

      }

      @Override

      public ISelection getSelection() {

      return theselection;

      }

      @Override

      public void removeSelectionChangedListener(ISelectionChangedListener listener) {

      listeners.remove(listener);

      }

      @Override

      public void setSelection(ISelection selection) {

      if(selection==null){

      return;

      }

      theselection = selection;

      final SelectionChangedEvent e = new SelectionChangedEvent(this, selection);

      Object[] listenersArray = listeners.toArray();

      for (int i = 0; i < listenersArray.length; i++) {

      final ISelectionChangedListener l = (ISelectionChangedListener) listenersArray[0];

                       l.selectionChanged(e);

      }

      }

      }

    4. 4

      在view1視圖初始化時,把發送類注冊到視圖中:

      fasong fa=new fasong();

      this.getSite().setSelectionProvider(fa);

    5. 5

      編纂text key的事務,當有鍵按下時,把獲得文本發送出去。

      ISelection st=new StructuredSelection(((Text)e.getSource()).getText());

      fa.setSelection(st);

    6. 6

      在view2視圖中寫監聽類,把監聽的字符串顯示在text中。

      public class jieshou implements  ISelectionListener{

      @Override

      public void selectionChanged(IWorkbenchPart part, ISelection selection) {

      if(selection!=null ){

      IStructuredSelection st = (IStructuredSelection)selection;

      text.setText((String) st.getFirstElement());

      }

      }

      }

    7. 7

      在view2初始化時,增添監聽類:

      jieshou jie=new jieshou();

      this.getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(jie);

    8. 8

      項目運行,在view1中輸入字符串,同時view2視圖的text框內一樣顯示。

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

    你可能感興趣的文章

    相關問題

    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>
    久久久久精品国产麻豆