首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Eclipse中调试JComboBox的actionEvent的处理,并避免锁定窗口系统?

如何在Eclipse中调试JComboBox的actionEvent的处理,并避免锁定窗口系统?
EN

Stack Overflow用户
提问于 2011-05-17 08:34:34
回答 2查看 1.2K关注 0票数 2

我已经编写了一个具有Swing GUI的Eclipse插件。为了调试这个插件,我生成了一个辅助Eclipse工作区。然后,我在从JComboBox中选择菜单项时由actionPerformed方法调用的方法上设置了断点。

当我从JComboBox中选择一个项目时,我的图形用户界面冻结,整个JComboBox的菜单都会显示出来。当命中断点时,表示Eclipse调试工作区的KDE图标照常闪烁。不幸的是,在这一点上,我的KDE会话已经失效了。我可以移动鼠标,但选择任何窗口或图标都没有任何效果(包括闪烁的Eclipse调试图标)。我不能在KDE中做任何事情,所以我通过转到一个常规的终端窗口并终止eclipse进程。这使我能够再次使用KDE做事情。

在KDE 4.5.5中,我可以做什么来避免这种锁定并调试我的代码?下面是一些相关的Java和Eclipse属性:

代码语言:javascript
复制
eclipse.buildId=M20100909-0800
eclipse.commands=-os
linux
-ws
gtk
-arch
x86
-showsplash
/am/embassy/vol/x6/eclipse/eclipse-jee-helios-SR1//plugins/org.eclipse.platform_3.6.1.v201009090800/splash.bmp
-launcher
/am/embassy/vol/x6/eclipse/eclipse-jee-helios-SR1/eclipse
-name
Eclipse
--launcher.library
/am/embassy/vol/x6/eclipse/eclipse-jee-helios-SR1//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.1.R36x_v20100810/eclipse_1309.so
-startup
/am/embassy/vol/x6/eclipse/eclipse-jee-helios-SR1//plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-product
org.eclipse.epp.package.jee.product
-clean
-debug
-vm
/usr/pkg/java/sun-6/bin/../lib/i386/client/libjvm.so
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/am/embassy/vol/x6/eclipse/eclipse-jee-helios-SR1//plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
java.class.version=50.0
java.endorsed.dirs=/usr/pkg/java/sun-6/lib/endorsed
java.ext.dirs=/usr/pkg/java/sun-6/lib/ext:/usr/java/packages/lib/ext
java.home=/usr/pkg/java/sun-6
java.library.path=/usr/pkg/java/sun-6/lib/i386/client:/usr/pkg/java/sun-6/lib/i386:/usr/pkg/lib:::/usr/java/packages/lib/i386:/lib:/usr/lib
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.6.0_22-b04
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
java.version=1.6.0_22
java.vm.info=mixed mode, sharing
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=17.1-b03
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-11 21:06:22

如此处所述:http://bugs.sun.com/view_bug.do?bug_id=6714678,解决方法是通过将:-Dsun.awt.disablegrab=true添加到VM参数来禁用X11平台上的获取grabs。

票数 7
EN

Stack Overflow用户

发布于 2011-05-18 08:10:06

我忘了用SwingUtilities.invokeLater()包装ActionEvent的处理。一旦我这样做了,我的问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6024997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档