There are three main options available, and only two require no existing code to be changed or added, and zero meet all of your stated requirements.
Remote Desktop: A computer runs the application as normal, but to access it remotely you simply use a remote desktop client software or browser plugin/applet to access. Microsoft Remote Desktop is the most well known, though LogMeIn and other related services work similarly. It does not work with multiple users simultaneously.
Remote Desktop + Virtual Desktop/Virtual Machine: This works as the above, but on the backend instead of a normal operating system you remote desktop to a multi-user supporting desktop environment, such as that provided by Windows Server, VMWare, and others. Each user has their own virtual desktop (if you set them up that way and pay the appropriate fees, anyway), and you each person can run their own application. Downside: No, it does not scale as cheaply as internet applications. No, you can't really give the general public access to it this way.
Change/add code. As with other suggestions, one could adapt the code to ASP.NET, or similarly port it to being a Silverlight application which would run in the browser (like Flash). Downside: it requires coding/development.
To clarify and use your example of Java, a Java Application is not the same as an Applet. One cannot add a flag and deploy a java application the browser, it just doesn't work like that.
If it were possible, if this helps any, Microsoft would just do that instead of rewriting so many of their core Office programs as online applications. They can't just make an application run in a browser to unlimited users without one of the above classes of solution, and I'm afraid you won't be able to either.