Я пытаюсь сделать игру для школы, как Puralax. Это мой первый год Java.Почему мой Jframe открывает пустое окно?
В настоящее время я тестирую через класс 'viewTest' и 'DitMoetWerken.java', чтобы сделать свой полный JFrame.
Я предполагаю, что VakUI не окрашивается, но я не знаю почему. Это должны быть квадраты в моей матрице.
Это где я называю все мои JFrames:
public class DitMoetWerken extends JFrame {
Spel spel;
public DitMoetWerken(Spel spel, int level) throws HeadlessException {
this.spel = spel;
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(800,500);
setTitle("Puralax");
setVisible(true);
spel.beginLevel(level);
SpelFrame spelFrame = new SpelFrame(spel,new JButton("terugknop"),new JButton("resetknop"));
this.add(spelFrame,BorderLayout.CENTER);
Это где я могу сделать мой список для моей игры. Это матрица, в которой длина 3x3 на этом уровне:
public class SpelbordUI extends JPanel {
private final Spel spel;
private SpelRooster spelRooster;
private boolean vakChecker = false;
private Vak bewaardVak;
public SpelbordUI(Spel spel) {
this.spel = spel;
this.spelRooster = spel.getSpelRooster();
initAll();
}
private void initAll(){
this.removeAll();
this.setLayout(new GridLayout(spelRooster.getLengte(),spelRooster.getLengte(),20,20));
for (int i = 0; i < spelRooster.getLengte(); i++) {
for (int j = 0; j < spelRooster.getLengte(); j++) {
VakUI vak = new VakUI(spelRooster.getRooster()[i][j]);
this.add(vak);
}
}
}}
A «вак» предназначается, чтобы быть квадратом на моем языке. Извините за возможные путаницы. Класс этого VakUI выглядит так, и я думаю, что моя проблема связана с paintComponent
. Я думаю, что он должен просто заполнить vak's в VakUI из-за this.setBackground(kleur)
или я должен рисовать их в новых квадратах?
public class VakUI extends JPanel {
private Color kleur;
private Vak vak;
public VakUI(Vak vak) {
this.vak = vak;
this.kleur = vak.getKleur();
}
public Vak getVak() {
return vak;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
this.setBackground(kleur);
}}
Пожалуйста, размещайте соответствующий код здесь с вашим вопросом, а не по ссылке. Обратите внимание, что ваша первая работа перед тем, как приходить сюда, - это отладка, чтобы попытаться изолировать проблему, поскольку это поможет вам ограничить код, который вы должны опубликовать, и облегчит нам понимание вашей проблемы и поможет вам. Лучше всего, если вы можете создать и опубликовать [минимальную примерную программу или MCVE] (http://stackoverflow.com/help/mcve). –
Не могу увидеть ваш проект кода ... Я бы сказал, что это просто спам для службы обмена файлами ... – MadProgrammer
Chit и ваша ссылка требует куки и не выглядит надежным сайтом. Плохой плохой мальчик! –