Winrunner's job is to act like a user on your program at higher speeds of what a typical user can do. Many ways that you can have it preform it's job is to record actions, and when you get better and more familiar with Winrunner, code your own scripts. Winrunner uses its own langauge, Test Script Language (TSL), so you cannot impliment your java code to make it run because it just simply wont understand it. THe Java Add-in is to help Winrunner utilize the java functions you have written.
As for your last question, I dont know any testing tools that can let you use Java code for the scripts, but then again, I havent seen all of them out there. Quick Test Pro (QTP) also made by Mercury is a testing tool that is similiar to what you want, but it uses VBScript.
If any more knowledgable person reads this and I'm incorrect about anything, feel free to correct me.
Never argue with an idiot, they bring you down to their level and beat you with experience -- Dilbert
Not sure what your intention is. But anyway, in my company, besides winrunner, we also use TPTP to automate some tests. TPTP is part of Eclipse open source project. One of TPTP functions is to record and playback just like winrunner does, but end up with java code.