When ~/.ssh/id_* is encrypted and you are running ssh-agent, as a modern Linux distribution would automatically, command-line openssh-client automatically connects to SSH_AUTH_SOCK to decrypt it. But when using the Java library you need to manually reenter your passphrase.
Better would be for it to implement a subset of the functionality in OpenSSH's authfd.c (I think) to connect to the agent. Unfortunately this requires AF_UNIX support, and there is none built in to Java; there are a few impls such as https://github.com/diega/libmatthew-java but none that I know of using JNA.
(It would suffice if a command in openssh-client could be run to do the decryption in a forked process, but I do not know of any such.)
http://stackoverflow.com/questions/2976496/how-to-extract-private-keys-from-an-ssh-agent
See: https://github.com/ymnk/jsch-agent-proxy