注意到这里还没有人回答这个问题,所以我想再次尝试一下。希望有人可以提供帮助。已经去找我的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 DllGetClassObject03: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 running03:30.28 7[dbg] CShellExt::QueryInterface()==>IID_IShellIconOverlayIdentifier03: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_IShellIconOverlayIdentifier03:30.28 12[dbg] CShellExt::AddRef()03:30.28 13[dbg] CShellExt::Release()03:30.28 14[dbg] Entering CShellExt::GetOverlayInfo03:30.28 15[dbg] Icon path: C:\Program Files (x86)\Hewlett-Packard\HP CloudDrive\icons\deflated.ico03: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为我初始化了整个可可系统。

09-15 16:14