我刚刚开始使用swing和Java。我正在阅读教程here。我只是将the code复制粘贴到Eclipse中。运行程序不会产生任何错误,但不会弹出任何窗口。在第二个Eclipse说<terminated>
之后,就像程序完成时一样。
当程序运行时,Eclipse似乎会失去焦点。为了尝试调试这个问题,我逐步介绍了各个方面。我发现它停在第48行:JFrame frame = new JFrame("FrameDemo");
。
我将System.out.println("Before");
和System.out.println("After");
放在该行周围。果然,只有&#34;之前&#34;打印到控制台。
我尝试使用java (my program)
直接从命令行运行。当我像这样跑的时候,窗口弹出来就好了。 Before
和After
都已打印出来。然而,关闭它有时会导致弹出一个窗口,表示&#34; Java(TM)Platform SE Binary已停止工作。&#34;
我很困惑为什么程序可以通过命令行工作,但不能使用Eclipse。我希望只是简单地运行示例程序就可以了#34;只是工作&#34;。非常感谢您提供的任何帮助!
相关代码:
private static void createAndShowGUI() {
//Create and set up the window.
System.out.println("Before");
JFrame frame = new JFrame("FrameDemo");
System.out.println("After");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
//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() {
try {
createAndShowGUI();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}