ハングマンフレーム、ウェルカムフレーム、メインフレームがあり、ハングマンゲームに勝ったときにメインフレームに星 (*) を追加したい
ハングマン フレーム:
public void win(){
JOptionPane.showMessageDialog(null, "Congrats! The word was " + GuessWord);
MainFrame.totalStars.append("*");
MainFrame.totalLabel.setText(MainFrame.stars);
setVisible(false);
MainFrame.hangmanButton.setEnabled(false);
MainFrame.returnMain();
}
メインフレーム:
public static final StringBuilder totalStars = new StringBuilder();
public static String stars = totalStars.toString();
public static void returnMain(){
totalStars.append("* ");
totalLabel.setText(stars);
WelcomeFrame.playButton.doClick();
}
ウェルカム フレーム:
private void playButtonActionPerformed(java.awt.event.ActionEvent evt) {
String userName = nameText.getText();
// Open MainFrame
MainFrame MFrame = new MainFrame();
MFrame.setVisible(true);
setVisible(false);
MainFrame.welcomeLabel.setText("Welcome " + userName + "!");
MainFrame.totalStars.append("* ");
MainFrame.totalStarsLabel.setText(MainFrame.stars);
}
星 (*) を追加したいラベル (totalLabel) があります。ただし、メソッドが HangmanFrame で実行されると、PlayFrame に移動しますが、スターはまったく追加されません。
誰かが私が間違っていることを見ることができますか?
解決済み:
メソッド名を returnMain() に変更
「totalStars.toString()」で「星」のすべてのインスタンスを変更しました