How do we make key bindings for a JFrame regardless of what's in focus in the frame?
I already looked at this question: How do you make key bindings for a java.awt.Frame?
I tried setting the input map for the root pane of the JFrame, but it doesn't work when the focus is on a JTextArea even though editable is false.
What's the easiest way to make key bindings work across an entire JFrame?
You could try using
JComponent#getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
From the Java Docs
Correct. If a component has focus and implements the same binding then that binding will have preference.
If you don't want that binding to be applicable for the text area then you need to remove the binding from the text area.
Read the section from the Swing tutorial on How to Use Key Bindings for explanations of the various InputMaps that you can use and for an example on how to remove a binding.
As @camickr wrote, you should not have the same key also bound on you text area.
Now, here is an implementation: