Pedro Bellora
Pedro Bellora

Reputation: 105

How can I easily make a java application invisible to the user?

I have developed a Java aplication that is currently being run by double-clicking on a ".bat" file that does something like "java -jar proy.jar". This application just listens on a port and writes to a database, so it does not have any user interface (such as a window). I need this application to run as in background mode, or as it were a service, but I don't really anything more than that. It's enough if the application is run in a way that is not noticeable by the user, so that the user is not bothered and so the application can not be mistakenly closed. By the way, this will be run on an specific computer so it's okay if I have to do any manual configuration ir order to make this work. Also, I need this application to run on startup.

Any help/tips regarding this? In advance, thank you very much for your help!

Regards,

Pedro

Upvotes: 8

Views: 1270

Answers (2)

eee
eee

Reputation: 1053

You can run your application as a System Tray icon (Java 1.6) if you are targeting Windows environment. Allow a context-sensitive menu trigger when clicking on the System Tray icon for the user to select a few options.

Upvotes: 1

akf
akf

Reputation: 39495

use javaw.exe instead of java.exe and you will not get a console window.

from the java.sun.com:

The javaw command is identical to java, except that with javaw there is no associated console window. Use javaw when you don't want a command prompt window to appear. The javaw launcher will, however, display a dialog box with error information if a launch fails for some reason.

EDIT:

A .bat will start a console. If you can live with a console up for a fraction of a second, you can preface your call to javaw with start. This will spawn another console-less process for javaw and allow the console-ful bat to exit.

Upvotes: 7

Related Questions