Java KeyPressed: no se puede detectar si se está presionando la barra espaciadora si otras teclas son demasiado

Como sugiere el título, en mi juego Java, no puedo detectar si estoy presionando la barra espaciadora y otras teclas al mismo tiempo.

Por ejemplo, la barra espaciadora es la tecla de disparo, y las teclas de flecha hacen que el jugador se mueva. Si estoy presionando la tecla de flecha hacia arriba y la tecla de flecha izquierda y la barra espaciadora, entonces debería disparar una bala hacia arriba y hacia la izquierda.

Sin embargo, después de usar múltiplesSystem.out.println(); para depurar, he descubierto que si presiono dos teclas, no está detectando la barra espaciadora si está presionada.

public void keyPressed(KeyEvent e) {


if(e.getKeyCode() == 32){
    pressingSpacebar = true;
    System.out.println("Spacebar pressed true");
}


    // Up arrow key
    if(e.getKeyCode() == 38){
        up = true;
        System.out.println("Up = true");
    }
    // Down arrow key
    if(e.getKeyCode() == 40){
        down = true;
        System.out.println("Down = true");

    }
    // Right arrow key
    if(e.getKeyCode() == 39){
        right = true;
        System.out.println("Right = true");
    }
    // Left arrow key
    if(e.getKeyCode() == 37){
        left = true;
        System.out.println("Left = true");
    }
}

Luego en keyReleased:

public void keyReleased(KeyEvent e) {
    if(e.getKeyCode() == 38){
        up = false;
        repaint();
    }
    if(e.getKeyCode() == 40){
        down = false;
        repaint();
    }
    if(e.getKeyCode() == 39){
        right = false;
        repaint();
    }
    if(e.getKeyCode() == 37){
        left = false;
        repaint();
    }
    if(e.getKeyCode() == 32){
        pressingSpacebar = false;
    }
}

Así es como estoy comprobando si está presionando la barra espaciadora y varias teclas:

if(pressingSpacebar){
        if(right == true && down == true && up == false && left == false){
            // Shoot bullet
        }
}   

¿Por qué no se detecta la barra espaciadora? Si no compruebo si se presiona la barra espaciadora, las balas disparan bien, pero cuando compruebo la barra espaciadora simplemente no la detecta.

Nota: He leído otras publicaciones similares a esta pregunta, pero las respuestas no fueron muy útiles. Soy un novato cuando se trata de estas cosas, así que trate de dar una respuesta simple o explicarlo un poco. ¡Gracias por adelantado!

Respuestas a la pregunta(3)

Su respuesta a la pregunta