JPanel
に入れたリスナーをクリアすることはできますか?メソッドを呼び出すと、パネルにKeyListener
を置いていますが、このメソッドを終了するとそのリスナーをクリアします。あなたがaddKeyListener(KeyListenerこの)に修飾されていない電話を持っているパネルからキーリスナーを削除する
private void stopBall(final Graphics2D g2, int posBallY, String winner) {
move = false;
scorePanel.showPressSpace(true);
setFocusable(true);
requestFocus();
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
if (e.getKeyCode() == KeyEvent.VK_SPACE){
setPosX(getPlayPanelWidth()/2);
setPosY(0);
move = true;
scorePanel.showPressSpace(false);
initBall(g2);
}
}});
if (winner == "player1") {
scoreCountPlayer1++;
scorePanel.getLab_Player1().setText("" + scoreCountPlayer1);
} else if (winner == "comp") {
scoreCountComputer++;
scorePanel.getLab_Computer().setText("" + scoreCountComputer);
}
}
1)* "Hey guyz .." *国際フォーラムに関するより良いヘルプのためには、適切な単語を入力してください。 2)すぐにより良い助けを得るために、[SSCCE](http://sscce.org/)を投稿してください。 –
* "このメソッドを終了すると.." * 'このメソッドは 'stopBall()'または 'keyPressed()'ですか?私はあなたの質問が非常に混乱していると感じます。ユーザーが何を見ることができるかについて、あなたが達成したいことを説明できますか? –
'=='を使って文字列を比較しないでください。これは、文字列が同じ文字を同じ順序で保持しているのではなく、2つのString *オブジェクトが同じであるかどうかをテストします。あなたは気にする)。代わりに、文字列 'equals(...)'または 'equalsIgnoreCase(...)'メソッドを使用してください。 –