2014-09-01 2 views
1

을 얻을 JDialog를 사용하는 방법, 나는 게임을 승리 한 사용자 에 메시지 대화 상자 이상 초기 게임 다음과 같은 대화 상자를 표시 JOptionPane.showInputDialog() 를 사용하는 방법 점수가 0보다 큰 경우 (isGameWon 메서드가이를 테스트합니다). 새로운 대화 상자는 사용자에게 높은 점수를 얻었고 높은 점수 표에 대한 이름을 요청한다는 것을 사용자에게 알려야합니다.입력을 SpaceInvadersApp.gameEnded() (아래 표) 내

public void gameEnded() { 
    String message; 
    if (game.isGameWon()) { 
     message = "You defeated the alien menace! Congratulations!\n\n" 
       + "Your score was " + game.getScore(); 
    } else { 
     message = "Oh no! The aliens have defeated you."; 
    } 

    JOptionPane.showMessageDialog(this, 
      message, "Game Over", 
      JOptionPane.INFORMATION_MESSAGE); 

    menuItemGamePause.setEnabled(false); 
} 
+1

당신은 첫 번째 문장에서 답을 갖고있는 것 같다. 당신의 코드는'showInput'이 아니라'showMessage'를 사용합니다. 후자는 문자열을 반환합니다 –

+0

JOptionPane.showInputDialog()를 알고 있지만 위의 팝업 후 팝업되는 팝업에서 이름과 같은 입력을받는 방법을 누군가에게 보여줄 수 있습니까? – Zhauo

+0

@peeskillet 위의 코드에서 팝업 후 팝업 이름을 묻는 추가 팝업을 보내고 싶습니다. – Zhauo

답변

3

How to Make Dialogs

에서 살펴 보도록 그러나 기본적으로, 당신이 할 수있는 일 같은 ...

if (game.isGameWon()) { 
    message = "You defeated the alien menace! Congratulations!\n\n" 
      + "Your score was " + game.getScore(); 
    String name = JOptionPane.showInputDialog(this, message, "Game Over", JOptionPane.INFORMATION_MESSAGE) 
    if (name != null) { 
     // Save name 
    } 
} else { 
    message = "Oh no! The aliens have defeated you."; 
    JOptionPane.showMessageDialog(this, 
      message, "Game Over", 
      JOptionPane.INFORMATION_MESSAGE); 
} 
+0

감사이 무엇을 것입니다 I 찾고 있었어. 그러나 두 번째 줄의 JOption은 무엇을 의미합니까? – Zhauo

+0

Typo ....... : P – MadProgrammer

+0

오류 필드 Component.Name이 표시되지 않습니다. 나는 어떤 이름 변수를 보지 못하니? – Zhauo

관련 문제