Bit of an old question I know but I just had the same problem and found this page. After checking the file associations to no avail I stumbled across the solution...
It appears to be possible to assign a different editor to an individual file in Eclipse by using the "Open With..." menu. In my case I managed to do this by accidentally pressing the Context menu key and typing I S, which caused my Java file to open w_I_th the default _S_ystem editor. Eclipse then remembered this, so using Ctrl-O to navigate to a method was opening in the external editor despite the .java file remaining open in Eclipse!
Subsequently closing and reopening the reassigned .java file then only used the external editor, despite other .java files opening internally.
Right-click on the file in the Navigator (or similar) View and check the Open With menu - if it doesn't have the Default/Java editor icon highlighted this will be the fix.