L'idea era mettere un "if(!valore) return;" nel keyPressed e solo lì.
Per quanto riguarda il valore che non cambia dovresti prima di ogni cosa verificare che non ci siano adombramenti nei nomi: forse hai due variabili che si chiamano "valore", imposti una e stampi l'altra.
L'eccezione dice che alla linea 479 (:eeek

di PannelloG c'è un riferimento null. E' po' strano che sia una conseguenza di una condizione booleana ma è possibile nel caso in cui il codice sia particolarmente "ramificato". Verifica quale riferimento genera la NullPointerException.
[edit] Ho visto solo ora l'ultima riga del tuo messaggio. k è null. Che ci fa k nel paintComponent?