DOS Window in Java Container
If anybody knows how, I'd appreciate any suggestions on how to present an Interactive DOS window in a JAVA SWING container.
The escape code approach would only work on DOS windows that are processing ANSI escape sequences. This is something people used to enable all the time back in the pre-Windows days, since it was the only way to do things like clearing screens, setting colours, drawing menus out of text characters, etc. Ansi.sys still exists, at least on Win98 (not sure about NT, 2000, etc.). If you troll through the Microsoft web site or hunt down old books on DOS, you'll be able to find out how to set it up and use it.
Similar Messages
-
Clearing the DOS Window in Java
hi
I want to clear the dos screen using java.
I saw 2 solutions on the net(given below) , but both did not work. Can someone advise how I can go about doing this ? I'm
working on Windows2000.
Thanks in advance.
Seema
1. char esc = 27; // ESC code
String clear = esc + "[2J" // note case
System.out.print(clear); // Dos screen should be cleared
2. Runtime.getRuntime().exec( "cmd.exe /c cls" ) ;The escape code approach would only work on DOS windows that are processing ANSI escape sequences. This is something people used to enable all the time back in the pre-Windows days, since it was the only way to do things like clearing screens, setting colours, drawing menus out of text characters, etc. Ansi.sys still exists, at least on Win98 (not sure about NT, 2000, etc.). If you troll through the Microsoft web site or hunt down old books on DOS, you'll be able to find out how to set it up and use it.
-
Getting rid of Dos Window during "java" call
Hi All
I am trying to execute a batch file in windows which internally calls a "java" class file. while executing the class file the batch file launches a dos window in the backgroud..can anyone please tell me how to get rid of that dos window
Thanks in Advance.
Regards
Kiran.RInstead of using java command in your batch file, change it to use javaw instead.
V.V. -
Clearing MS-DOS window in Java?
I was reading a previously posted topic ,
http://forum.java.sun.com/thread.jsp?forum=54&thread=98626
and tried writing the line:
System.out.print("\033[2J");
It didn't work, all it did was print out a arrow with [2J beside it?
Could anyone tell me what I am doing wrong?
Thanks,
CC_FlyerYeah, you probably don't have ansi.sys in the right spot.
-
Invoke command in new dos window
is there any way that i can invoke a command in a new dos window from java application?
such as
runtime.exec("dir");
it will open another dos window, and run dir in it.
thanksit will open another dos window, and run dir in it.This works for me (win 2000):
Runtime.getRuntime().exec("cmd /c start dir"); -
how can i open a dos window from java and putting a code in it to run?
thnaks in advance
pelegHi,
No. You can't do it in a platform independent way. But you can open a shell on linux/unix, so you have to first detect OS, and then execute the correct method.
/Kaj -
Executing a dos command from java in windows nt
i need to execute the
" net send"
command from the command line in windows nt, from within my java program... is there any way that i can execute cmommands in the dos command shell? or rather, does anybody know a way i can send a message ( in windows ) from java, from one computer to another over the lan?? I cannot have a java programming running on all the other computers, so i cannot make my program serve, it must just send the messges using a lan command....
(the net send command just sends a message in the form of a pop up box on the receiver's screeen)
thanks a bunch guys!!!
Thanks a bunch guys!!!!you can do that with exec() in Runtime.
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(command here);but before you do that you need to read this:
http://www.javaworld.com/jw-12-2000/jw-1229-traps.html
hth
partha -
Hi, can somebody tell me how to run java files from the DOS window, in windows??? thanks
joej wrote:
ok, thanx, i did and i found i should write this javac javafile.java, but when i did i got this error "javac is not recognized as an internal or external command, operable program or batch file, what does that mean or what could it be causing it?In the dos-shell, when you type "javac" or any other commands, the shell searches it's available path for the command. In this case, "javac" was not included as part of the path that the does shell searches and therefore it returned that error.
Go to google and search for how to add javac to source path. -
Hide MS-DOS window when running java
I'd like to know i can hide the MS-DOS window when i am running my program.
I try this in file.bat, but it doesn't work.
file.bat:
javaw myProgram
exit
any ideas?
thank you.Well, your method works for me.
You can trycall javaw YourProgram
exitas well, but I doubt if it will make any difference.
Kind regards,
Levi -
Problem while running dos command from java program
Dear friends,
I need to terminate a running jar file from my java program which is running in the windows os.
For that i have an dos command to find process id of java program and kill by using tskill command.
Command to find process id is,
wmic /output:ProcessList.txt process where "name='java.exe'" get commandline,processid
This command gives the ProcessList.txt file and it contains the processid. I have to read this file to find the processid.
when i execute this command in dos prompt, it gives the processid in the ProcessList.txt file. But when i execute the same command in java program it keeps running mode only.
Code to run this command is,
public class KillProcess {
public static void main(String args[]) {
KillProcess kProcess = new KillProcess();
kProcess.getRunningProcess();
kProcess = new KillProcess();
kProcess.readProcessFile();
public void getRunningProcess() {
String cmd = "wmic /output:ProcessList.txt process where \"name='java.exe'\" get commandline,processid";
try {
Runtime run = Runtime.getRuntime();
Process process = run.exec(cmd);
int i = process.waitFor();
String s = null;
if(i==0) {
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(process.getInputStream()));
while ((s = stdInput.readLine()) != null) {
System.out.println("--> "+s);
} else {
BufferedReader stdError = new BufferedReader(new
InputStreamReader(process.getErrorStream()));
while ((s = stdError.readLine()) != null) {
System.out.println("====> "+ s);
System.out.println("Running process End....");
} catch(Exception e) {
e.printStackTrace();
public String readProcessFile() {
System.out.println("Read Process File...");
File file = null;
FileInputStream fis = null;
BufferedReader br = null;
String pixieLoc = "";
try {
file = new File("ProcessList.txt");
if (file.exists() && file.length() > 0) {
fis = new FileInputStream(file);
br = new BufferedReader(new InputStreamReader(fis, "UTF-16"));
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
} else {
System.out.println("No such file");
} catch (Exception e) {
e.printStackTrace();
return pixieLoc;
} when i remove the process.waitFor(), then while reading the ProcessList.txt file, it says "No such file".
if i give process.waitFor(), then it's in running mode and program is not completed.
Colud anyone please tell me how to handle this situation?
or Is there anyother way to kill the one running process in windows from java program?
Thanks in advance,
SathishHi masijade,
The modified code is,
class StreamGobbler extends Thread
InputStream is;
String type;
StreamGobbler(InputStream is, String type)
this.is = is;
this.type = type;
public void run()
try
InputStreamReader isr = new InputStreamReader(is, "UTF-16");
BufferedReader br = new BufferedReader(isr);
String line=null;
while ( (line = br.readLine()) != null)
System.out.println(type + ">" + line);
} catch (IOException ioe)
ioe.printStackTrace();
public class GoodWindowsExec
public static void main(String args[])
try
String osName = System.getProperty("os.name" );
String[] cmd = new String[3];
if( osName.equals( "Windows 95" ) )
cmd[0] = "command.com" ;
cmd[1] = "/C" ;
cmd[2] = "wmic process where \"name='java.exe'\" get commandline,processid";
} else {
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = "wmic process where \"name='java.exe'\" get commandline,processid";
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]
+ " " + cmd[2]);
Process proc = rt.exec(cmd);
System.out.println("Executing.......");
// any error message?
StreamGobbler errorGobbler = new
StreamGobbler(proc.getErrorStream(), "ERROR");
// any output?
StreamGobbler outputGobbler = new
StreamGobbler(proc.getInputStream(), "OUTPUT");
// kick them off
errorGobbler.start();
outputGobbler.start();
// any error???
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal);
} catch (Throwable t)
t.printStackTrace();
}when i execute the above code, i got output as,
Execing cmd.exe /C wmic process where "name='java.exe'" get commandline,processid
and keeps in running mode only.
If i execute the same command in dos prompt,
CommandLine
ProcessId
java -classpath ./../lib/StartApp.jar;./../lib; com.abc.middle.startapp.StartAPP 2468
If i modify the command as,
cmd.exe /C wmic process where "name='java.exe'" get commandline,processid > 123.txt
and keeps in running mode only.
If i open the file when program in running mode, no contents in that file.
If i terminte the program and if i open the file, then i find the processid in that file.
Can you help me to solve this issue? -
Hi ! I was wondering if it is possible, either by settings or through code, to make the DOS window invisible or minimized when a Java application is run. I prefer if this could be done programmatically.
Thanks for any help on this.the most common way, short of an executable jar file, is to create a batch file to run the java application using the javaw command.
example:
Say your main class file is called Foo.class.
You batch file is call Foo.bat, and contains the fallowing line:
javaw Foo
now double click on the batch file and your java application runs without the command prompt.
*note: javaw has the same command line options/arguments as normal 'java' does. -
How can I read ALL the compilation errors in a DOS window?
On compilation using a DOS window, if the number of errors exceeds the window size, some of the errors disappear off the top of the window and I cannot read them.
Is there an effective solution to somehow use scrolling of the DOS window or transfer the compilation errors to a file?Hey buddy,
When I first started programming with Java, I wondered the same thing. I have the very best solution for you. This one is waaay easy!!!!
There is a text editor which will not only color code your text for you, but you can easily configure it to give you the compiler /DOS output for Java. Just go to this website and download the program. Enjoy!
http://www.textpad.com/ -
Adding a window to a container: Error
Hello there,
Im facing a problem with my program.My program is about a Car Rental System and I am using GUI for the interface. From the main(CarRental) program,when user click one of the menu, there is another interface will appear for user to enter details.The problem is,my main (CarRental)program is running,click the first menu,then another interface open,but wen user enter details n click buttons , it is not even working. Below is my program:
//This is main menu program
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.JFrame;
public class CarRental extends JFrame implements ActionListener{
JFrame f;
JLabel l1,l2,l3,choice;
JPanel p1,p2,p3,p4,p5,p6,p7,p8,p9;
JButton btnA,btnB,btnC,btnD,btnE,btnF;
Connection conn;
Statement stmt;
ResultSet rs;
public CarRental(){
p1=new JPanel();p2=new JPanel();p3=new JPanel();
p4=new JPanel();p5=new JPanel();p6=new JPanel();
p7=new JPanel();p8=new JPanel();p9=new JPanel();
f=new JFrame("New Rental Record");
l1=new JLabel("........::: Car Rental System :::.........");
l2=new JLabel("*******************************************************");
choice=new JLabel("Please select your option:");
btnA=new JButton("[1] New Rental Record");
btnB=new JButton("[2] Update Rental Record");
btnC=new JButton("[3] Search Rental Record");
btnD=new JButton("[4] Delete Rental Record");
btnE=new JButton("[5] Display Rental record");
btnF=new JButton("[6] Exit");
l3=new JLabel("*******************************************************");
f.setLayout(new GridLayout(10,1));
f.pack();
f.setVisible(true);
f.setSize(350,500);
f.setBackground(Color.white);
p1.add(l1);f.add(p1);
p2.add(l2);f.add(p2);
p3.add(choice);f.add(p3);
p4.add(btnA);f.add(p4);
p5.add(btnB);f.add(p5);
p6.add(btnC);f.add(p6);
p7.add(btnD);f.add(p7);
p8.add(btnE);f.add(p8);
p9.add(btnF);f.add(p9);
btnA.addActionListener(this);
btnB.addActionListener(this);
btnC.addActionListener(this);
btnD.addActionListener(this);
btnE.addActionListener(this);
btnF.addActionListener(this);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{System.exit(0);}});
public void actionPerformed(ActionEvent e){
if(e.getSource()== btnA)
{ NewRecord nr=new NewRecord();}
else if(e.getSource()== btnB)
{ updateRecord ur=new updateRecord();}
else if(e.getSource()== btnC)
{ searchRecord sr=new searchRecord(); }
else if(e.getSource()== btnD)
{ deleteRecord dr=new deleteRecord(); }
else if(e.getSource()== btnE){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
catch(ClassNotFoundException e3) {
JOptionPane.showMessageDialog(null,"ERROR:"+e3.getMessage());
try{
conn=DriverManager.getConnection("Jdbc:Odbc:Car Rental", "", "");
stmt=conn.createStatement();
rs=stmt.executeQuery("Select * from Customer where CustID");
String s=("CustID: CustName: CustAdd: CustPhone: No.of days rent: Rate per rental: \n");
while(rs.next())
s=s+rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5)+" "+rs.getString(6)+"\n";
JOptionPane.showMessageDialog(null,s);}
catch(SQLException e4){e4.printStackTrace();}}//end of F
//to exit the program
else if(e.getSource()== btnF){
JOptionPane.showMessageDialog(null,"Thank you");System.exit(0);}
else
JOptionPane.showMessageDialog(null,"Invalid Option!");System.exit(0);
}//end of if statement
public static void main(String args[]){
CarRental cr= new CarRental();}//end of main
}//end of main menu
//New Rental program when user selects it
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class NewRecord extends JFrame implements ActionListener{
JFrame f;
Container c;
FlowLayout layout;
JLabel l1,l2,custId,custName,custAdd,custPhone,dayRent,rateRent;
JTextField tid,tname,tphone,tday,trate;
JTextArea tadd;
JButton save,clear,exit;
Connection conn;
Statement stmt;
ResultSet rs;
JPanel p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11;
public NewRecord(){
//super("New Record");
layout = new FlowLayout();
c=getContentPane();
c.setLayout(layout);
p1=new JPanel();p2=new JPanel();p3=new JPanel();
p4=new JPanel();p5=new JPanel();p6=new JPanel();
p7=new JPanel();p8=new JPanel();p9=new JPanel();
p10=new JPanel();p11=new JPanel();
f=new JFrame();
l1=new JLabel("........::: New Rental Record :::.........");
l2=new JLabel("*******************************************************");
custId =new JLabel("Customer ID:");
custName=new JLabel("Customer name:");
custAdd=new JLabel("Customer address:");
custPhone=new JLabel("Customer phone:");
dayRent=new JLabel("Days of rental:");
rateRent=new JLabel("Rate per rental:");
tid= new JTextField(10);
tname=new JTextField(10);
tphone=new JTextField(10);
tadd=new JTextArea(4,30);
tday=new JTextField(5);
trate=new JTextField(10);
save=new JButton("SAVE");
clear=new JButton("CLEAR");
exit=new JButton("EXIT");
f.setLayout(new GridLayout(11,1));
f.setBackground(Color.white);
f.setVisible(true);
f.setSize(600,600);
p1.add(l1);f.add(p1);
p2.add(l2);f.add(p2);
p3.add(custId);p3.add(tid);f.add(p3);
p4.add(custName);p4.add(tname);f.add(p4);
p5.add(custAdd);p5.add(tadd);f.add(p5);
p6.add(custPhone);p6.add(tphone);f.add(p6);
p7.add(dayRent);p7.add(tday);f.add(p7);
p8.add(rateRent);p8.add(trate);f.add(p8);
p9.add(save);f.add(p9);
p10.add(clear);f.add(p10);
p11.add(exit);f.add(p11);
/* f.add(l1);
f.add(l2);
f.add(custId);
f.add(tid);
f.add(custName);
f.add(tname);
f.add(custAdd);
f.add(tadd);
f.add(custPhone);
f.add(tphone);
f.add(dayRent);
f.add(tday);
f.add(rateRent);
f.add(trate);
f.add(save);
f.add(clear);
f.add(exit);*/
c.add(f);
save.addActionListener(this);
clear.addActionListener(this);
exit.addActionListener(this);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{System.exit(0);}});
public void actionPerformed(ActionEvent e){
if(e.getSource()== exit)
{System.exit(0);}
if(e.getSource()== clear){
tid.setText("");
tname.setText("");
tadd.setText("");
tphone.setText("");
tday.setText("");
trate.setText("");}
if(e.getSource()== save){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
catch(ClassNotFoundException e1) {
JOptionPane.showMessageDialog(null,"ERROR:"+e1.getMessage());
try{
conn=DriverManager.getConnection("Jdbc:Odbc:Car Rental", "", "");
stmt=conn.createStatement();
rs=stmt.executeQuery("Select * from Customer");
while(rs.next()){
tid.setText(rs.getString(1));
tname.setText(rs.getString(2));
tadd.setText(rs.getString(3));
tphone.setText(rs.getString(4));
tday.setText(rs.getString(5));
trate.setText(rs.getString(6));}
String s=("CustID: CustName: CustAdd: CustPhone: No.of days rent: Rate per rental: \n");
while(rs.next())
s=s+rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5)+" "+rs.getString(6)+"\n";
JOptionPane.showMessageDialog(null,s);
catch(SQLException e2){
e2.printStackTrace();
public static void main(String args[]){
NewRecord nr=new NewRecord();
// nr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}//end of newRecord class
}//ends of New rental program
I tried to use extending to JPanel or JApplet but still the same. Any help??Hi,
In the NewRecord java file, use change the
f = new JFrame();
c = f.getContentPane();, after that all panel add into the container
p1.add(l1);c.add(p1);
p2.add(l2);c.add(p2);
p3.add(custId);p3.add(tid);c.add(p3);
p4.add(custName);p4.add(tname);c.add(p4);
p5.add(custAdd);p5.add(tadd);c.add(p5);
p6.add(custPhone);p6.add(tphone);c.add(p6);
p7.add(dayRent);p7.add(tday);c.add(p7);
p8.add(rateRent);p8.add(trate);c.add(p8);
p9.add(save);c.add(p9);
p10.add(clear);c.add(p10);
p11.add(exit);c.add(p11);and finally remove this line below
//c.add(f);Try to avoid add frame into the container, or else you will receive adding a window to a container error.
Rgrds,
Sen
Message was edited by:
arjensen -
How would I print information to a DOS window?
Ok so I can get the DOS window running by using this code:
try{
Runtime rt = Runtime.getRuntime();
Process child = rt.exec("cmd.exe /c start cmd.exe");
child.waitFor();
}catch(IOException io){}
catch(InterruptedException e) {}but I want to print the information from this code:
StringBuffer objectString = new StringBuffer("");
////some code here//////
objectString = new StringBuffer(("Customer:\t\t" + customerName + "\n"
+ "Departure Date:\t" + departureDate + "\n"
+ "Return Date:\t" + _returnDate));
////some code here/////
objectString.append("\nAirline:\t\t" + airlineBG.getSelection().getActionCommand());
objectString.append("\nDestination:\t" + destinationBG.getSelection().getActionCommand());
/////more code. yay//////
objectString.append("\nPrice:\t\t" + price);
objectString.append("\nTicket Bought. Have a safe flight!");
System.out.print(objectString.toString());//print string bufferso how would I print objectString to the DOS window?
Note: opening the DOS window is in the constructor for the JFrame I am using while printing the StringBuffer is in the actionPerformed implementation.masijade. wrote:
deadmanwalkin wrote:
no, the program im supposed to be making asks to print ticket information to a DOS window.
I might have interpreted it wrong and it could be just start from a DOS window using the java File commandWell, study your assignment text. If it does not explicitly state that you must programmatically open a new "DOS window", then simply print your output using System.out.println().Unless he's running Windows 95 still he can't even open a DOS window as there's no more DOS ;) -
Starting command line exec without dos window...
I'm trying to start a console window application under my java swing application with the Runtime.exec(cmd) function.
A dos window appear during the execution of the application. How to remove the screen echo ?
Thanks
SEBHi ollie lord and thank you for your suggestion.
I tried to use a *.bat file instead but the result was the same. I tried to use the word "start" in the command but nothing more.
My .bat file is simple:
start myprogram or myprogram
...where myprogram.exe is a win32 console application from Visual C++.
Is there any option in function Main() in C++ to remove the dos console ?
I head about the JNI tech. Is it a solution ?
Thanks
SEB
Maybe you are looking for
-
hello my name is emily and i need HELP iwent to the share button to email a photo and a box appeared telling me to enter my sever that way i could email photos, so i entered what i thought was right which was http, well it wasnt right, it would not e
-
I'm trying to get Adobe Bridge CC on my MacBook Pro.
I've done the download and install step but when I go to open it, a pop up appears that states, "Adobe Bridge CC cannot be opened because of a problem." My computer is up to date, and my Adobe is up to date so I don't understand what the problem is.
-
How can I add password protection to a Pages document on the iPad?
Is there any way to add password protection to a Pages document on the iPad?
-
my ipod pauses during playback. i'm not hitting the click wheel. it does it locked or unlocked. it just goes right to pause, i hit play, five seconds later, to pause again. what is the deal and how do i fix it.
-
Error while system copy export
Dear all, While system copy in export part we are getting following error. Sorry for not able to paste in proper format. OS :-HPUX 11.23 Database :- oracle 10g Execution of the command "/opt/java1.4/bin/java -classpath /tmp/sapinst_exe.27996.126355