Если он работает после того, как вы сделали его статичным, у вас может возникнуть другая проблема!
Вы вызываете updateUI () для вновь созданного класса? Если это так, вызывайте его только для ранее созданного экземпляра, поскольку mijnScore
является локальным для этого экземпляра!
РЕДАКТИРОВАТЬ:
Ваши классы выглядят так? (Возможно, вам следовало добавить больше кода в вопросе)
// Score.java
public class Score {
int mijnScore = 0;
JLabel scoreSp1 = new JLabel();
public Score(JDialog dialog) {
dialog.add(scoreSp1);
}
...
public void updateUI() {
// Code from question
}
}
// Window.java
public class Game {
...
public void scoredPoint() {
JDialog dialog = new JDialog("You scored!");
new Score(dialog).updateUI();
dialog.setVisible(true);
}
}
В этом глупом примере проблема на самом деле во втором классе - вам не нужно каждый раз создавать новый экземпляр Score
. Для примера код должен быть написан так:
// Window.java
public class Game {
JDialog dialog = new JDialog("You scored!");
Score score = new Score(dialog);
...
public void scoredPoint() {
score.updateUI();
dialog.setVisible(true);
}
}