标签: eclipse-rcp

Eclipse RCP,为什么透视栏不会出现?

我在WorkbenchWindowAdvisor的postWindowOpen方法中调用了这样的方法

windowConfigurer.setShowPerspectiveBar(真);

但透视栏仍然没有显示出来

eclipse-rcp

1
推荐指数
1
解决办法
1180
查看次数

如何知道在TableViewer中选择了哪一行?

我在Eclipse RCP应用程序中使用Viewer Framework,我遇到了一种情况,我需要从TableViewer获取(知道在UI中选择了哪一行)所选行.在UI中,用户可以选择一行.Below是我的Tableviewer声明

TableViewer viewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION
    | SWT.HIDE_SELECTION);
Run Code Online (Sandbox Code Playgroud)

当用户点击突出显示的特定行时,我能够选择某一行,我想知道用户是选择了哪一行并准确获取行详细信息?我怎样才能实现这一目标?

swt eclipse-plugin jface eclipse-rcp

1
推荐指数
1
解决办法
6082
查看次数

TableViewer中的表行是否有悬停事件

我有一个JFace表查看器,它包含大量的行,我认为如果每行都有一个简短的描述会更好,作为一种解决方法,我试图实现doubleclick listner,但这不适合我的需要,我不知道是否有像这样的悬停事件,它显示了一个工具提示,其中包含有关特定行的简要信息.

eclipse swt eclipse-plugin jface eclipse-rcp

1
推荐指数
1
解决办法
2644
查看次数

类型不匹配:无法从Class <..>转换为Class <...>

我已经'继承了'一个Eclipse RCP项目,它似乎可以在基于3.6的目标平台集上运行良好.但是,我们需要更新到平台的最新版本,但是当我将目标平台更改为3.7(或4.2)时,我会遇到一些错误.

Type mismatch: cannot convert from Class<capture#1-of ?> to Class<? extends IDatasetProvider>
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议/解释为什么这可能在3.6中正常工作,但在3.7(及更高版本)中没有?关于我将从哪里开始解决这个问题的任何想法也会很棒!

导致此错误的代码片段(出现在b.loadClass部分):

    List<Class<? extends IDatasetProvider>> list = new LinkedList<Class<? extends IDatasetProvider>>();
    ClassMap<IDatasetProvider, List<String>> map = new ClassMap<IDatasetProvider, List<String>>();

    for (IConfigurationElement e : elements)
    {
        try
        {
            Bundle b = Platform.getBundle(e.getContributor().getName());

            String viewId = e.getAttribute("viewId");
            Class<? extends IDatasetProvider> datasetType = b.loadClass(e
                    .getAttribute("datasetProvider"));
            ...
            ...
            ...
        }
     }
Run Code Online (Sandbox Code Playgroud)

还有3个(可能)相关的警告

 IDatasetProvider is a raw type. References to generic type IDatasetProvider<T> should be parameterized 
Run Code Online (Sandbox Code Playgroud)

如果我改回我们的3.6平台,那一切都会再次运作.

编辑:感谢Alexy和gzukmin的帮助.

我使用了以下代码,特别是强制转换Class<? extends IDatasetProvider>而不仅仅是 …

java eclipse-rcp

1
推荐指数
1
解决办法
2万
查看次数

无法加载“文件名”的代理处理程序

我遇到运行时错误

org.eclipse.cpre.runtime-org.eclipse.ui-0- filename无法加载代理的处理程序

似乎找不到处理程序类文件。但是将执行处理程序文件中的代码。

有任何想法吗?

eclipse eclipse-plugin eclipse-rcp

1
推荐指数
1
解决办法
1659
查看次数

你怎么能在这里获得"SWTException:无效的线程访问"?

我正在注册一个生命周期监听器plugin.xml.如果我只定义一个,它运行正常Shell.
例如

@PostContextCreate  
void postContextCreate(final IEventBroker eventBroker){  
     System.out.println("CALLED!");    
     final Shell shell = new Shell(SWT.TOOL | SWT.NO_TRIM);  
     shell.open();  
     eventBroker.subscribe(UIEvents.UILifeCycle.ACTIVATE, new EventHandler() {  

    @Override  
    public void handleEvent(Event event) {  
        System.out.println("Closing shell");  
        shell.close();  
        shell.dispose();  
        System.out.println("Closed");  
        eventBroker.unsubscribe(this);  
        }
     });
Run Code Online (Sandbox Code Playgroud)

但如果我改变呼叫也使用Display:

@PostContextCreate
void postContextCreate(final IEventBroker eventBroker){  
    System.out.println("CALLED!");  
    Display display = new Display();  
    final Shell shell = createSplashShell(display);  
    shell.open();  
    while (!shell.isDisposed ()) {  
    if (!display .readAndDispatch ()) display.sleep ();  
    }
    display.dispose ();  
   //etc  
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

org.eclipse.e4.core.di.InjectionException:org.eclipse.swt.SWTException:在org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)无效的线程访问在
org.eclipse位于org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:206)的.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:229)at

我知道这个异常必须对UI线程做一些事情,但我无法弄清楚如何使用Display …

java eclipse swt jface eclipse-rcp

1
推荐指数
1
解决办法
2780
查看次数

Eclipse RCP右键单击事件

如何在项目上添加鼠标右键单击侦听器TableViewer

java swt jface eclipse-rcp tableviewer

1
推荐指数
1
解决办法
3701
查看次数

没有工作区创建的rcp应用程序

我想有一个rcp应用程序,它不会workspace在启动时创建任何文件夹.我的rcp应用程序不需要持久保存任何插件或用户数据.对于最终用户,工作空间创建似乎是一个令人困惑和烦人的副作用.我怎么能避免这个?

在我看来,每个rcp应用程序都需要插件org.eclipse.core.resources,而类ResourcesPlugin在启动时创建工作区.

我知道-data <workspace_dir>用于指定不同工作空间位置的选项,但我想完全避免创建工作空间.

谢谢你的建议!

eclipse workspace rcp startup eclipse-rcp

1
推荐指数
1
解决办法
1059
查看次数

如何在Eclipse中默认设置要隐藏的命令?

我有一个Eclipse插件,可以为工具栏提供命令.我有一个默认隐藏的请求(但应该可以在Customize Perspective菜单中启用它).

我尝试使用该visibleWhen属性(通过仅使用不存在的透视图启用它),默认情况下隐藏命令,但在" 自定义透视图"菜单中,它显示为灰色,无法启用它.

有没有办法在默认情况下禁用对工具栏的命令贡献?

eclipse eclipse-rcp

1
推荐指数
1
解决办法
342
查看次数

Eclipse RCP:检查作业是否已完成

我想检查一下Job是否已经完成.目前我这样做:

 if ( traceJob.getState() != Job.WAITING && traceJob.getState() != Job.RUNNING){
Run Code Online (Sandbox Code Playgroud)

但我认为应该有更好的方法来检查.有人有什么好主意吗?

java eclipse user-interface multithreading eclipse-rcp

1
推荐指数
1
解决办法
2024
查看次数