Java Eclipse AWT,无法调试
我希望能够在eclipse中调试以下代码:Java Eclipse AWT,无法调试,java,eclipse,debugging,awt,Java,Eclipse,Debugging,Awt,我希望能够在eclipse中调试以下代码: String local; try { local = InetAddress.getLocalHost().getHostAddress() + ":" + port; } catch (UnknownHostException ex) { local = "Network Error"; } ip = (String) JOptionPane.showInputDialog(null, "IP: ", "Info",
String local;
try {
local = InetAddress.getLocalHost().getHostAddress() + ":" + port;
} catch (UnknownHostException ex) {
local = "Network Error";
}
ip = (String) JOptionPane.showInputDialog(null, "IP: ", "Info",
JOptionPane.INFORMATION_MESSAGE, null, null, local);
当我这样做:“RunAs>Java应用程序”时,一切工作都很完美。
但是,当我尝试调试时(在eclipse Juno 32或64位中),它永远不会出错:
ip = (String) JOptionPane.showInputDialog(null, "IP: ", "Info", JOptionPane.INFORMATION_MESSAGE, null, null, local);
附加信息:
我使用的是64位Windows 7。当我暂停代码并查看堆栈时,它似乎在以下位置受阻:
while (keepBlockingCT.get() &&
((extCondition != null) ? extCondition.evaluate() : true)) {
getTreeLock().wait();
}
它位于包java.awt中的文件/类WaitDispatchSupport中
我使用JDK1.7(最新的JDK)
编辑:
此外,该对话框从未出现可能与此相关。因此,听起来您在AWT事件分派线程之外调用AWT/Swing方法。将JOptionPane.showXYZ()调用放入以下位置:
javax.swing.SwingUtilities.invokeAndWait(new Runnable(){public void run(){JOptionPane.showXYZ();}}})
更多信息:我的意思是:/在您的程序中/,将JOptionPane调用放入(…)。页面声明1.5.0和1.6.0是受影响的版本。我做了:javax.swing.SwingUtilities.invokeAndWait(new Runnable(){public void run(){ip=(String)JOptionPane.showInputDialog(null,“ip:”,“Info”,JOptionPane.INFORMATION_MESSAGE,null,null,InetAddress.getLocalHost().getHostAddress()+“:“+端口);}但它不起作用…我想这是你想让我做的?是的,是的。对不起,我不知道如何帮助你。