报错的代码为

protected void buttonPressed(int buttonId) {

Display.getDefault().syncExec(new Runnable() {
public void run() {
localpmtsStreamViewsAction.refreshPerspective(localviewId,
localw);
}
});

super.buttonPressed(buttonId);

}

抛异常:

org.eclipse.core.commands.NotEnabledException: Trying to execute the disabled command org.eclipse.ui.window.closePerspectiveat org.eclipse.core.commands.Command.executeWithChecks(Command.java:469)at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)at org.eclipse.ui.internal.actions.CommandAction.run(CommandAction.java:171)at cn.cncc.pams.actions.PMTSStreamViewsAction.refreshPerspective(PMTSStreamViewsAction.java:74)at cn.cncc.pams.test.MultiDialog$3.run(MultiDialog.java:274)at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)at org.eclipse.swt.widgets.Display.syncExec(Display.java:4584)at cn.cncc.pams.test.MultiDialog.buttonPressed(MultiDialog.java:272)at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)at org.eclipse.jface.window.Window.open(Window.java:801)at cn.cncc.pams.actions.PMTSStreamViewsAction.run(PMTSStreamViewsAction.java:56)at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)at cn.cncc.pams.main.Application.start(Application.java:125)at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)at org.eclipse.equinox.launcher.Main.run(Main.java:1408)at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

这个问题的解决办法:只需要改变代码的顺序即可

protected void buttonPressed(int buttonId) {

super.buttonPressed(buttonId);//这一行代码放到这里

Display.getDefault().syncExec(new Runnable() {
public void run() {
localpmtsStreamViewsAction.refreshPerspective(localviewId,
localw);
}
});

}

JFace dailog button事件中刷新透视图异常 Trying to execute the disabled command org.eclipse.ui.window.closePerspective的更多相关文章

  1. flex中Button事件中的e.target

    关于flex中的Button事件中的e.target. 今天想在事件中调用模块中的对象通过e.target获取单击的这个Button对象,但是可能是使用var btn:Button = e.targe ...

  2. ListView中响应item的点击事件并且刷新界面

    ---恢复内容开始--- 最近在在实现listview功能中遇到了这个问题: 点击事件写在了adapter的item中,不知道如何在listview的点击事件中更新数据的显示: 总结:1.要使用not ...

  3. ABP在领域事件中异步调用方法抛异常

    在领域事件中调用UserRegistrationManager.RegisterAsync抛异常 Call UserRegistrationManager.RegisterAsync() throw ...

  4. lua 中处理cocos2dx 的button 事件

    lua 中处理cocos2dx 的button 事件 2014-05-08 09:44:32|  分类: lua |举报 |字号 订阅   1.引入这个类:require "GuiConst ...

  5. JavaScript DOM编程基础精华02(window对象的属性,事件中的this,动态创建DOM,innerText和innerHTML)

    window对象的属性1 window.location对象: window.location.href=‘’;//重新导航到新页面,可以取值,也可以赋值. window.location.reloa ...

  6. AJAX 怎样在一个UpDatePanel中刷新另一个updatePanel

    原文:AJAX 怎样在一个UpDatePanel中刷新另一个updatePanel 在页面上(.aspx)<asp:UpdatePanel ID="MyID1" runat= ...

  7. 在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常

    毕竟人不是神,谁写的程序都会有bug,有了bug不可怕,可怕的是出错了,你却不知道错误在哪里.所以我们需要将应用程序中抛出的所有异常都记录起来,不然出了错,找问题就能要了你的命.下面我们主要讨论的是如 ...

  8. winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体

    winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始 ...

  9. Python中出现的异常

    简单的写几种我知道的关于Python中出现的异常含义,希望大神批评指正,我只是学软件开发的菜鸟,前面的路还很长,我会努力学习! 什么是异常? 异常既是一个事件,该事件会在程序执行过程中发生,影响了程序 ...

随机推荐

  1. myeclipse一直停留在Loading workbench界面上的处理办法

    找到工作目录比如我的叫work,在.metadata中删掉以下两个文 件,再次重启myeclipse走一个! org.eclipse.ui.workbench org.eclipse.ui.workb ...

  2. 浅谈C语言 extern 指针与数组

    /* * d.c * * Created on: Nov 15, 2011 * Author: root */ #include "apue.h" int a[] = {3,2}; ...

  3. DB2数据库代码页和实例代码页的区别(解决DB2乱码问题)

    DB2CODEPAGE:     DB2 实例级别的代码页设置,它会影响DB2相关应用程序对代码页转换时做出代码页判定.     可以通过 db2set DB2CODEPAEG= 命令将 DB2COD ...

  4. 求解n皇后

    要求:在国际象棋上摆放n个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法 思路:很直观的想法就是在棋盘上一个一个皇后的摆,如果冲突,则摆放在另一个位置,直至 ...

  5. mysql进阶(二十二)MySQL错误之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...中文字符输入错误

    MySQL错误之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...' for column 'tout' at row 1中文字符输入错误 在实验 ...

  6. 【翻译】如何在Ext JS 6中使用Fashion美化应用程序

    原文:How to Style Apps with Fashion in Ext JS 6 在Ext JS 6,一个最大的改变就是框架合并,使用一个单一的代码库,就可以为每一种设备开发各具有良好体验的 ...

  7. How to Enable Trace or Debug for APIs executed as SQL Script Outside of the Applications ?

    In this Document   Goal   Solution   1: How do you enable trace for an API when executed from a SQL ...

  8. (NO.00001)iOS游戏SpeedBoy Lite成形记(十四)

    下面要启用场景的触摸功能,在GameScene.m的didLoadFromCCB方法里添加下面一行: self.userInteractionEnabled = YES; 然后还需要给GameScen ...

  9. Eclipse搭建Android环境失败的解决方案

    今天在Eclipse上搭建Android开发环境,不仅在安装ADT的过程中老是出错,而且Android SDK下载后,打开SDK Manager时也无法链接到网页下载tools,网上查了好多方法,试了 ...

  10. PostgreSQL两种分页方法查询时间比较

    数据库中存了3000W条数据,两种分页查询测试时间 第一种 SELECT * FROM test_table WHERE i_id> limit 100; Time: 0.016s 第二种 SE ...