注意到这里还没有人回答这个问题,所以我想再次尝试一下。希望有人可以提供帮助。已经去找我的Java老师了,他只是说我搞砸了,无法弄清楚,所以我不能继续前进。
任何人,这是我的测试代码:
import javax.swing.JOptionPane;
public class Test {
public static void main(String[] args) {
System.out.println("hello");
JOptionPane.showInputDialog("Enter a real number");
}
}
这是我在控制台中收到的:
hello
03:30.28 1[dbg] In DllGetClassObject
03:30.28 2[dbg] CShellExtClassFactory::CShellExtClassFactory()
03:30.28 3[dbg] CShellExtClassFactory::QueryInterface()
03:30.28 4[dbg] CShellExtClassFactory::CreateInstance()
03:30.28 5[dbg] CShellExt::CShellExt()
03:30.28 6[dbg] Looping before Zumo is running
03:30.28 7[dbg] CShellExt::QueryInterface()==>IID_IShellIconOverlayIdentifier
03:30.28 8[dbg] CShellExt::AddRef()
03:30.28 9[dbg] CShellExt::AddRef()
03:30.28 10[dbg] CShellExt::Release()
03:30.28 11[dbg] CShellExt::QueryInterface()==>IID_IShellIconOverlayIdentifier
03:30.28 12[dbg] CShellExt::AddRef()
03:30.28 13[dbg] CShellExt::Release()
03:30.28 14[dbg] Entering CShellExt::GetOverlayInfo
03:30.28 15[dbg] Icon path: C:\Program Files (x86)\Hewlett-Packard\HP CloudDrive\icons\deflated.ico
03:30.28 16[dbg] Exiting CShellExt::GetOverlayInfo successfully.
任何帮助将不胜感激。我已经尝试过重新安装所有可能的东西,包括eclipse和JDK 1.7。我还注意到,仅当我到目前为止尝试使用对话框JOptionPane时,才会发生这种情况。我正在使用Windows 7系统。
多谢你们
最佳答案
只是一个猜测,因为我在其他系统上遇到了奇怪的AWT / Swing问题,您可以在这里尝试(有时底层UI系统未正确初始化,但是正如我所说,这只是一个猜测):
public class Test
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
System.out.println("hello");
JOptionPane.showInputDialog("Enter a real number");
}
});
}
}
通过使用
invokeLater
,您可以强制初始化整个UI系统(启动EDT并从EDT内部显示选项窗格),我不得不使用此技巧,例如使我的SDL绑定在OSX下工作。 invokeLater
为我初始化了整个可可系统。