How to assign a new title to a java command line output window (under windows)?

M

Mark Sizzler

I wrote a java command line app and can start it successfully by entering a command like

java myprog

However the title bar of the window which is automatically opened always shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?

Can I somehow pass a parameter at call time:

java myprog -Dshowtitle="myprog"

Mark
 
D

Donkey Hottie

(e-mail address removed) (Mark Sizzler) wrote in

I wrote a java command line app and can start it successfully by
entering a command like

java myprog

However the title bar of the window which is automatically opened
always shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?

Can I somehow pass a parameter at call time:

java myprog -Dshowtitle="myprog"

Mark

The command in your shortcut opening the window is NOT java myprog, if
the title is cmd.exe. It is propably a .bat or .cmd file?

You can set title of command prompt with windows "start" command.

If your bat is myprog.bat or myprog.cmd you can start it as

start "MyProg" myprog.bat

Or if the shortcut indeed contains "java myprog" you can say in it

start "MyProg" java myprog

Start has lots of useful options, title is only one of them.





C:\>start /?
Starts a separate window to run a specified program or command.

START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
[parameters]

"title" Title to display in window title bar.
path Starting directory
B Start application without creating a new window. The
application has ^C handling ignored. Unless the
application
enables ^C processing, ^Break is the only way to
interrupt
the application
I The new environment will be the original environment
passed
to the cmd.exe and not the current environment.
MIN Start window minimized
MAX Start window maximized
SEPARATE Start 16-bit Windows program in separate memory space
SHARED Start 16-bit Windows program in shared memory space
LOW Start application in the IDLE priority class
NORMAL Start application in the NORMAL priority class
HIGH Start application in the HIGH priority class
REALTIME Start application in the REALTIME priority class
ABOVENORMAL Start application in the ABOVENORMAL priority class
BELOWNORMAL Start application in the BELOWNORMAL priority class
WAIT Start application and wait for it to terminate
command/program
If it is an internal cmd command or a batch file then
the command processor is run with the /K switch to
cmd.exe.
This means that the window will remain after the command
has been run.

If it is not an internal cmd command or batch file then
it is a program and will run as either a windowed
application
or a console application.

parameters These are the parameters passed to the command/program


If Command Extensions are enabled, external command invocation
through the command line or the START command changes as follows:

non-executable files may be invoked through their file association just
by typing the name of the file as a command. (e.g. WORD.DOC would
launch the application associated with the .DOC file extension).
See the ASSOC and FTYPE commands for how to create these
associations from within a command script.

When executing an application that is a 32-bit GUI application, CMD.EXE
does not wait for the application to terminate before returning to
the command prompt. This new behavior does NOT occur if executing
within a command script.

When executing a command line whose first token is the string "CMD "
 
W

Wojtek

Mark Sizzler wrote :
I wrote a java command line app and can start it successfully by entering a
command like

java myprog

However the title bar of the window which is automatically opened always
shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?

Can I somehow pass a parameter at call time:

java myprog -Dshowtitle="myprog"

Mark

Type in "start /?" which will give a wealth of options
 
W

Wojtek

Mark Sizzler wrote :
I wrote a java command line app and can start it successfully by entering a
command like

DO NOT multi-post!

I answered this in c.l.j.help
 
L

Lew

Wojtek said:
Mark Sizzler wrote :

DO NOT multi-post!

I answered this in c.l.j.help

The OP did not multi-post, they cross-posted with f/u set to clj.programmer,
which is where your helpful response showed up.
 
W

Wojtek

Lew wrote :
The OP did not multi-post, they cross-posted with f/u set to clj.programmer,
which is where your helpful response showed up.

Um yes.

I noticed this afterwards and then I deleted the post, but the server
had already propogated it.
 
T

Thomas Kellerer

Mark Sizzler wrote on 08.01.2009 20:52:
I wrote a java command line app and can start it successfully by entering a command like

java myprog

However the title bar of the window which is automatically opened always shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?

If you have that in a batch file, simply change the batch file to

title MyProg
java myprog


Thomas
 
G

ghanoz2480

I wrote a java command line app and can start it successfully by entering a command like

java myprog

However the title bar of the window which is automatically opened always shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?

Can I somehow pass a parameter at call time:

java myprog -Dshowtitle="myprog"

Mark                                    

check out Runtime class
that class can help you doin that thing
 
R

Roland de Ruiter

I wrote a java command line app and can start it successfully by entering a command like

java myprog

However the title bar of the window which is automatically opened always shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?

Can I somehow pass a parameter at call time:

java myprog -Dshowtitle="myprog"

Mark

Use "start" from a cmd.exe window or from a batch file. E.g.

@echo off
start "WindowTitle" java -classpath "C:\path\to\classes" my.cmdLineApp

The "start" command [1] opens a new command line window (cmd.exe) with
the given title. The title *must* be enclosed in quotes and it must be
the first argument.
The "start" command is a command line command which means that it can
only be used from within a cmd.exe window or from a batch file (.bat or
..cmd). So there's no "start.exe" program on Windows and you cannot use
it from the Windows menu Start > Run.

Alternatively you could try the "title" command [2] (also a command line
command). E.g.

@echo off
title Window Title
java -classpath "C:\path\to\classes" my.cmdLineApp


[1] <http://technet.microsoft.com/en-us/library/bb491005.aspx>
[2] <http://technet.microsoft.com/en-us/library/bb491017.aspx>
 
F

Fred

I wrote a java command line app and can start it successfully by entering a command like

java myprog

However the title bar of the window which is automatically opened always shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?

Can I somehow pass a parameter at call time:

java myprog -Dshowtitle="myprog"
Assuming that your app is a Frame subclass:

public static void main( String[] args ) {
MyProg myprog = new MyProg();

if ( args.length == 1 ) {
myprog.setTitle(args[0]);
}
}

execute as:
java myprog MyNewTitle
 
T

Thomas Kellerer

Fred wrote on 09.01.2009 20:29:
Assuming that your app is a Frame subclass:

public static void main( String[] args ) {
MyProg myprog = new MyProg();

if ( args.length == 1 ) {
myprog.setTitle(args[0]);
}
}

execute as:
java myprog MyNewTitle

That will *not* change the title of the commandline window under Windows.

Thomas
 
J

Jan Thomä

However the title bar of the window which is automatically opened always shows

C:WINDOWS\system32.\cmd.exe

How can I change this to e.g. "myprog"?


There is probably no platform-independent way, but you can create a
windows shortcut, put the java command there and give the shortcut a
name. The window title is then named like the shortcut.

Jan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top