저는 Java를 처음 사용하고 일부 코드 작업에 문제가 있습니다. 문자 A ~ Z가있는 GUI가 있습니다. 버튼 클릭 후 몇 가지 작업을 수행하는 데 Keyevent를 요청하고 싶습니다.JavaFX는 하나의 영숫자 문자 만 가져온 후에 KeyEvent를 중지합니다.
- 문자 만 선택할 수 있습니다. 대소 문자. 올바른 응답을 기다리지 않으면.
- 그런 다음 알파벳 목록을 확인하여 이전에 눌렀는지 확인하십시오. 그런 다음 다른 문자를 요청한 경우
- 새 문자가 입력 된 경우 알파벳을 치고 뒤 따르는 방법을 실행하십시오.
더 이상 키를 누르지 않습니다. 다음 코드를 시도 :
private static void spinGame(){ switch (wheelResult) { case "1' ... break; case "2": ... break; default: System.out.println("..."); newPhrase.gameB(); scene2.setOnKeyPressed((KeyEvent event) -> { if (event.getText().isEmpty()) return; char pressed = event.getText().toUpperCase().charAt(0); userGuess=event.getText().charAt(0); if ((pressed < 'A' || pressed > 'Z')) return; Text t = alphabet.get(pressed); if (t.isStrikethrough()) return; // mark the letter 'used' else{t.setFill(Color.BLUE); t.setStrikethrough(true); System.out.println(userGuess); } int letterCount; if ((userGuess == 'a') || (userGuess == 'e') || (userGuess == 'i') || (userGuess == 'o') || (userGuess == 'u')){ playerScores[currentPlayer] -= 250; System.out.println("£250 docked from score for vowel use"); }
은 여기에서 잘못. 키를 다시 누르기를 원하지 않으며 다음 메소드를 실행하지 않아도됩니다.
letterCount = newPhrase.makeGuess(userGuess);
...my method....;
})
나는 그것을 고치는 방법을 모른다. 내가 테스트하고 사용자 추측이 선택되고 기록했지만 그 이후의 방법을 진행하지 않으며 입력의 키가 멈추지 않습니다. 또한 영숫자에 대한 코딩이 잘못되었다고 생각합니다.
당신 비록 당신이 그것을 축축하게하기 위해 할 수있는 몇 가지 작은 변화가 있지만, 제공 한 것이 좋을 것입니다. 문제가 귀하가 제공 한 코드에 포함되어 있지 않은 한? 예 : "알파벳"초기화, 테스트했을 때 짐작했습니다. – Peter
알파벳이 설정되었습니다. 그것은 취소하고 잘 작동합니다. 문제는 그것을 호출하는 메서드가 다시 실행될 때까지 키 이벤트를 중지하려는 것입니다. – mineshmshah
알파벳의 모든 문자가 정확하게 추측 된 후에 문자 검사를 중단 하시겠습니까? – Peter