【问题标题】:Double click event prob双击事件概率
【发布时间】:2012-11-06 15:26:53
【问题描述】:

当我双击树查看器文件时,文件名应该出现在下一个表单视图中

Sample.dat -> 双击 -> 名称应该出现 Sample.dat 和文件相关属性应该出现。 我创建了一个 treeViewer 文件并双击该名称未出现的文件名。 请帮我注册这个,eclipse rcp,Juno,e4 等。

【问题讨论】:

    标签: eclipse-rcp


    【解决方案1】:

    透视类... 私人无效 setLayouts(IPageLayout 布局){ // 范围 0.05f 到 0.95f.... IFolderLayout explorerFolderLayout = layout.createFolder("explorer", IPageLayout.LEFT, 0.25f, layout.getEditorArea());

    explorerFolderLayout.addView(ExplorerView.ID);

    查看课程.. viewer.addDoubleClickListener(new IDoubleClickListener() {

            @Override
            public void doubleClick(DoubleClickEvent event) {
                // TODO Auto-generated method stub
    
                IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
    
                FileName fn = null;
                FileNameContainer fnc = null;
                if (selection.isEmpty()) 
                    return;
    
                List<Object> list = selection.toList();...
    

    ....

    【讨论】:

      【解决方案2】:

      您需要在树中添加点击监听器

      final Tree tree = new Tree(parent, SWT.BORDER);
      tree.addMouseListener(new MouseListener(){
          public void mouseDoubleClick(MouseEvent e) {
              //get data of selected element
              //we use array[0], because we have not multiselect tree
              MyDataObject data = (MyDataObject) tree.getSelection()[0].getData();
      
              //now you need to pass "data" to your view with file info
              //I don't know how to do it in pre e4 RCP apps, so
              //please read this answer: https://stackoverflow.com/a/2227764/1030113
              //hope that helps
      
          }
          public void mouseDown(MouseEvent e) {}
          public void mouseUp(MouseEvent e) {}
      });
      
      //to test
      TreeItem treeItem1 = new TreeItem(tree, SWT.NONE);
      treeItem1.setText("some item 1");
      treeItem1.setData(new MyDataObject("somedata 1"));
      
      TreeItem treeItem2 = new TreeItem(tree, SWT.NONE);
      treeItem2.setText("some item 2");
      treeItem2.setData(new MyDataObject("somedata 2"));
      

      我不知道如何在 pre e4 RCP 应用程序中的视图之间进行通信,但我在这里找到了一些有用的答案:https://stackoverflow.com/a/2227764/1030113

      【讨论】:

      • 请在 Eclipse RCP、swt、jface、Juno 等技术中实现。据我所知,您的代码在 awt、swing 等中。谢谢。
      • 其实是 SWT 代码。它使用以下类:org.eclipse.swt.widgets.Tree、org.eclipse.swt.widgets.TreeItem、org.eclipse.swt.events.MouseListener、org.eclipse.swt.events.MouseEvent。
      • 我在这里工作基于 eclipse rcp,swt,juno,java 的应用程序。
      • 当我双击树查看器文件时,该文件名应该作为标题文件名出现在下一个表单视图中 Sample.dat -> 双击 -> 名称应该出现 Sample.dat 和 File应该出现相关的属性。我创建了一个 treeViewer 文件并双击该名称未出现的文件名。请帮我注册这个,eclipse rcp,Juno,e4 等。请我在 Perspective 类中正确设置 3 个视图
      • 对我的回答进行了一些编辑,希望对你有帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      • 2019-08-17
      • 2012-02-08
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多