2

SwingGUIを備えたEclipseプラグインを作成しました。プラグインをデバッグするために、セカンダリEclipseワークスペースを生成します。actionPerformed次に、JComboBoxからメニュー項目が選択されたときにメソッドによって呼び出されるメソッドにブレークポイントを設定します。

JComboBoxから項目を選択すると、GUIがフリーズし、JComboBoxのメニュー全体が表示されます。Eclipseデバッグワークスペースを表すKDEアイコンは、ブレークポイントに到達したときに通常と同じように点滅します。残念ながら、この時点で、私のKDEセッションは失敗に終わっています。マウスを動かすことはできますが、ウィンドウまたはアイコンを選択しても効果はありません(Eclipseデバッグアイコンの点滅を含む)。KDEでは何もできないので、経由して通常のターミナルウィンドウに移動し、Eclipseプロセスを強制終了します。これにより、KDEで再び作業を行うことができます。

KDE 4.5.5でこのロックアップを回避し、コードをデバッグするにはどうすればよいですか?関連するJavaおよびEclipseのプロパティの一部を次に示します。

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
4

2 に答える 2

7

http://bugs.sun.com/view_bug.do?bug_id=6714678で説明されているように、回避策は-Dsun.awt.disablegrab=true、VM 引数に次を追加して、X11 プラットフォームでのグラブの取得を無効にすることです。

于 2013-06-11T13:06:21.677 に答える
0

ActionEvent の処理を​​ でラップするのを怠っていましたSwingUtilities.invokeLater()。私がそうしたら、私の問題は解決しました。

于 2011-05-18T00:10:05.623 に答える