带有GUI的Java赢得了';跑不动

带有GUI的Java赢得了';跑不动,java,swing,user-interface,Java,Swing,User Interface,嗨,我需要在mac上使用Java的帮助。我已经完全卸载了所有版本的Java,并安装了Oracle JDK 1.8.0_202。我可以做javac和java,并编译和运行控制台中运行的简单程序。然而,当我尝试任何有窗户的东西时,它会挂起来 这包括所有gui应用程序、java web启动,甚至java控制面板都不会启动—它只是停止响应,不显示任何内容 此应用程序的行为也相同: import javax.swing.*; public class HelloWorldSwing {

嗨,我需要在mac上使用Java的帮助。我已经完全卸载了所有版本的Java,并安装了Oracle JDK 1.8.0_202。我可以做javac和java,并编译和运行控制台中运行的简单程序。然而,当我尝试任何有窗户的东西时,它会挂起来

这包括所有gui应用程序、java web启动,甚至java控制面板都不会启动—它只是停止响应,不显示任何内容

此应用程序的行为也相同:

import javax.swing.*;        

public class HelloWorldSwing {
/**
 * Create the GUI and show it.  For thread safety,
 * this method should be invoked from the
 * event-dispatching thread.
 */
private static void createAndShowGUI() {
    //Create and set up the window.
    JFrame frame = new JFrame("HelloWorldSwing");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Add the ubiquitous "Hello World" label.
    JLabel label = new JLabel("Hello World");
    frame.getContentPane().add(label);

    //Display the window.
    frame.pack();
    frame.setVisible(true);
}

public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
    //creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            createAndShowGUI();
        }
    });
}
}

我尝试过重新安装、重新启动,但仍然无法运行这个简单的程序。我在运行该程序的终端中没有收到任何错误消息-它只是冻结了

请帮助我解决这个问题,并获得一个工作的java设置

我正在使用Macbook pro和Mojave 10.14.3

实际上,真正的罪魁祸首是显示链接。如果您在Java和GUI方面遇到问题,可能是因为您使用的是显示链接,并且驱动程序与Java冲突。只有当你的笔记本电脑屏幕关闭时

有关更多信息,请参见此


我希望这能有所帮助

我已经很久没有使用Swing了,所以我可能是错的,但是
invokeLater
不是用来从GUI线程执行长时间运行的任务吗?我认为不应该使用它来调用GUI线程本身。试着直接从主界面调用
createAndShowGUI()
。我刚刚运行了你的代码,它运行得很好-在屏幕左上角显示了一个窗口(你很容易就会错过它)。你确定你只是没有错过它或它隐藏在其他窗口后面?添加frame.setSize(10001000);只是为了测试来确定一下。@AndréStannek,这是倒退。invokeLater在EDT上运行任务,您不需要长时间运行的任务。我确定-没有窗口在运行,如果我将鼠标悬停在标题栏上方的左侧,并带有程序名,则它仅显示一个微调器,该微调器从不停止,并且在活动监视器中显示为未响应。这与所有其他GUI Java应用程序相同