您好stackoverflow社区,
我刚开始学习如何在Java中实现一个gui,并在我的Windows 10桌面上遇到一个非常奇怪的问题。当我尝试运行我的代码时,它没有错误地编译,大约5秒没有做任何事情然后返回以下消息:
Process finished with exit code -1073740791 (0xC0000409)
起初我认为我的代码存在问题,但我无法找到答案。在尝试查找错误时,我注意到甚至没有像
这样简单的东西String test = JOptionPane.showInputDialog("test");
已经工作了,虽然最近工作得很好。正常的控制台输出工作正常,因为旧的项目证明,它会在任何类型的gui出现时立即退出。我尝试在我的基于Linux的笔记本电脑上运行相同的代码,它运行没有问题。
我决定检查java工具,比如java configurator和java info,但它们根本没有启动。光标变为加载符号2秒,然后没有。 Java任务控制启动,但一旦我尝试打开JMX控制台就崩溃。
我多次删除并重新安装Java JDK和JRE(9.0.4),尝试使用其他版本,重新安装IntelliJ,甚至将Windows重置为较早的系统映像,没有任何改变。
3小时谷歌搜索产生的唯一真实答案是关于NVidia驱动程序损坏(我使用AMD,但仍然升级了驱动程序,没有帮助),并且此错误代码是堆栈溢出的Windows错误代码。我尝试通过启用信息栏来增加内存堆和控制内存使用量,但这也无济于事。
经过几个小时的努力来解决这个问题,我真的非常感谢你的帮助。
感谢。
修改 每个需求,一个例子(我的原始代码):
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class PraedikatFrameH extends JFrame implements ActionListener{
private JTextField output;
private JButton palindrom_button;
public PraedikatFrameH(){
this.setTitle("Palindrom-Check");
this.setSize(200,300);
this.output= new JTextField(10);
this.palindrom_button=new JButton("Ist Array ein Palindrom?");
JPanel pButtonPanel = new JPanel();
pButtonPanel.add(this.palindrom_button);
JPanel outputPanel = new JPanel();
outputPanel.add(this.output);
Container palindromPane =this.getContentPane();
palindromPane.setLayout(new GridLayout(2,1));
palindromPane.add(pButtonPanel);
palindromPane.add(output);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
}
public void testJava(){
String test = JOptionPane.showInputDialog("test");
System.out.println(test);
}
}
控制台输出:
"C:\Program Files\Java\jdk-9.0.4\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3\lib\idea_rt.jar=50931:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\handm\IdeaProjects\inf_einf_uebung10\out\production\inf_einf_uebung10 PraedikatFrameHMain
Process finished with exit code -1073740791 (0xC0000409)