Попробуйте позвонить frame.pack ()
, это упакует все компоненты в кадр, который будет отображаться после вычисления правильного размера с панелями. Кроме того, следование исправлению, предложенному @trashgod выше, решит тот факт, что панели не были добавлены, а исправление @Ashkan Aryan сделает ваш код немного более разумным (хотя он должен работать без него, но тогда нет смысла наследование от JFrame).
Код ниже работает для меня:
GraphicSolver(int[][] spelplan) {
Panel panel = new Panel(new GridLayout(9,9));
for(int i=0;i<9;i++){
for(int x=0;x<9;x++){
panel.add(new JLabel(""+spelplan[i][x]));
}
}
this.add(panel);
this.pack ();
this.setVisible(true);
}