JPanel
sayfama yüklediğim bir işleyiciyi temizlemek mümkün mü? Bir yöntemi çağırdığımda, bir KeyListener
'u panele koydum ama bu yöntemi bıraktığımda, dinleyiciyi temizlemek istiyorum. Sen addKeyListener (KeyListener) için tamamlanmamış bir arama varAnahtar dinleyiciyi panelden kaldır
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 .." * Uluslararası forumlarda daha iyi yardım için kelimeleri doğru heceleyin. 2) Daha iyi yardım için, bir [SSCCE] (http://sscce.org/) gönderin. –
* "bu yöntemi bıraktığımda .." * 'bu yöntem' stopBall() 'veya' keyPressed() 'olarak mı? Sorunu oldukça kafa karıştırıcı buluyorum. Kullanıcının neler görebileceği konusunda neyi başarmak istediğinizi açıklar mısınız? –
Dizeleri '==' kullanarak karşılaştırmayın, çünkü bu iki String * nesnesinin (ve umurumda değil) bir ve aynı olup olmadığını (eğer Dizeler aynı sırada aynı karakterleri tutuyorsa) sen * yapmak * önemsemek). Bunun yerine, "eşittir (...)" veya "equalsIgnoreCase (...)" yöntemini kullanın. –