在我的项目中,我有一些课程。一个创建 gui 的类,JFrame 除外。我将在我的 Main 类中创建 JFrame,例如:
import javax.swing.*;
import java.awt.*;
public class KodeHusker {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
JFrame f = new JFrame();
f.setLayout(new FlowLayout());
f.add(new JLabel("test"));
f.add(new GUI().viewProgram());//it works fine, when i remove this
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
});
}
}
gui 类是我创建所有 gui 的地方,viewProgram 方法声明为:
public JPanel viewProgram(){}
它返回一个JPanel。
正如代码中的注释所说,当我删除该行时,它一切正常,但是当我拥有它时,JFrame 永远不会显示,尽管没有任何异常。关闭程序的快捷方式也不起作用。
有人知道我做错了什么吗?谢谢指教。