我有一个hangmanframe、welcomeframe 和一个大型机,当你赢得一个hangman 游戏时,我想在大型机上附加星号(*)
刽子手框架:
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()”更改了所有“stars”实例