I’m worried from these statements that you’re considering Java unsuitable for single-player games because it’s “less secure”? I would counter that there are probably no ( quality ) single-player games written in C++ that have not already been cracked. Some show up on P2P systems days after release ( sometimes even days BEFORE release ). In addition to just having download-n-play versions floating around for anyone with the bandwidth and knowing where to look, I have seen various resources ( graphics and sounds ) from such games used on web sites and emails.
As long as the user has physical access to the code the program is going to be hacked if someone wants to. Trying to avoid this is right up there with the record company trying to “protect” music or Hollywood trying to “protect” movies. It will deter but it will not stop. The only way to guarantee your game is never hacked after release is to produce a game so poor that no one wants to put in the effort. Otherwise, you should do your best to secure it against the efforts of less skilled folk and maybe some extras ( “call home” stuff, etc ) to deter the next level, and just accept that if you made a quality product some people will pay for it and others will steal it.