私のプロジェクトにはいくつかのクラスがあります。JFrameを除いて、GUIを作成するための1つのクラス。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が表示されることはありません。プログラムを閉じるためのショートカットも機能しません。
私が間違っていることを知っている人はいますか?アドバイスありがとうございます。