Java JFrame未在Mac上运行
在运行项目时,Java出现在我的dock上,但根本不运行。它在那里停留大约5-10秒,然后消失。代码或我的Mac电脑有问题吗Java JFrame未在Mac上运行,java,macos,Java,Macos,在运行项目时,Java出现在我的dock上,但根本不运行。它在那里停留大约5-10秒,然后消失。代码或我的Mac电脑有问题吗 import javax.swing.JFrame; public class Test extends JFrame { public Test() { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(600,600); thi
import javax.swing.JFrame;
public class Test extends JFrame {
public Test() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600,600);
this.setVisible(true);
this.setResizable(false);
this.setTitle("Test");
}
您需要在某处调用test实例才能工作
public class Test extends JFrame {
private static final long serialVersionUID = -2949102464273156555L;
public Test() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600, 600);
this.setVisible(true);
this.setResizable(false);
this.setTitle("Test");
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Test();
}
});
}
}
这与使用Mac电脑无关 将它添加到主函数中(可以在
Test.java
或任何其他类中),以便创建GUI线程并实例化Test
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Test();
}
});
}
调用newtest()代码>是您需要做的全部,但是在javax.swing.SwingUtilities.invokeLater中执行它对应用程序的未来非常重要,因为它允许您在后台同时执行其他操作,这将消除任何可见的延迟
您需要导入javax.swing.SwingUtilities
或只需导入javax.swing.*代码>您的主功能在哪里?或者你在哪里做newtest()
?这就是我需要的,我完全不知道。谢谢谢谢但是什么是私有静态最终长序列versionuid=-294910246427315655L;例如?JFrame是一个可序列化的对象,因此给类一个serialVersionUID是一个很好的实践,…为了测试,您可以删除它并忽略IDE中的警告