Java KeyPressed - Não é possível detectar se a barra de espaço está sendo pressionada se outras teclas também estiverem

Como o título sugere, no meu jogo Java, não consigo detectar se estou pressionando a barra de espaço e outras teclas ao mesmo tempo.

Por exemplo, a barra de espaço é a tecla de tiro, e as teclas de seta fazem o jogador se mover. Se eu estiver pressionando a tecla de seta para cima, a tecla de seta esquerda e a barra de espaço, ela deve disparar uma bala para cima e para a esquerda.

No entanto, depois de usar váriosSystem.out.println(); para depurar, descobri que se estou pressionando duas teclas, ele não está detectando a barra de espaço se estiver pressionada.

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");
    }
}

Em seguida, em 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;
    }
}

É assim que eu estou verificando se você está pressionando a barra de espaço e várias teclas:

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

Por que a barra de espaço não está sendo detectada? Se eu não verificar se a barra de espaço está sendo pressionada, as balas disparam bem, mas quando verifico a barra de espaço, ela simplesmente não a detecta.

Nota: Li outras postagens semelhantes a esta pergunta, mas as respostas não foram muito úteis. Eu sou um novato quando se trata dessas coisas, então tente dar uma resposta simples ou explicar um pouco. Desde já, obrigado!

questionAnswers(3)

yourAnswerToTheQuestion