[CODE]/*

* Test.java

*

* Created on 2006年12月21日, 下午3:53

*

* To change this template, choose Tools | Template Manager

* and open the template in the editor.

*/

package testCMD;

/**

*

* @author lbf

*/

import java.io.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Test extends JFrame implements KeyListener,ActionListener{

private JTextArea content;

private JButton start,exit;

private PrintWriter pw;

private BufferedReader br;

private Process p;

/** Creates a new instance of Test */

public Test() {

initWindow();

}

private void initWindow(){

content=new JTextArea();

start=new JButton("开始");

exit=new JButton("退出");

content.setFont(new Font("宋体",Font.BOLD,15));

JPanel center=new JPanel(new BorderLayout());

JPanel bottom=new JPanel();

center.add(new JScrollPane(content),BorderLayout.CENTER);

bottom.add(start);

bottom.add(exit);

content.addKeyListener(this);

start.addActionListener(this);

exit.addActionListener(this);

Container c=this.getContentPane();

c.add(center,BorderLayout.CENTER);

c.add(bottom,BorderLayout.SOUTH);

this.setSize(500,500);

this.setLocationRelativeTo(null);

this.setVisible(true);

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent we){

if(p!=null){

p.destroy();

}

System.exit(0);

}

});

}

public void keyTyped(KeyEvent e) {

}

public void keyPressed(KeyEvent e) {

}

public void keyReleased(KeyEvent e) {

if(e.getKeyCode()==KeyEvent.VK_ENTER){

String s=getInput();

pw.println(s+"\r");

pw.flush();

}

}

private String getInput(){

String input=content.getText();

StringBuffer sb=new StringBuffer(input);

sb.replace(sb.length()-1,sb.length()," ");

int index=sb.lastIndexOf("\n");

String sub=input.substring(index);

return sub;

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==start){

start.setEnabled(false);

initCMD();

} else if(e.getSource()==exit){

if(p!=null){

p.destroy();

}

System.exit(0);

}

}

private void initCMD(){

try{

p=Runtime.getRuntime().exec("cmd.exe");

br=new BufferedReader(new InputStreamReader(p.getInputStream()));

pw=new PrintWriter(new OutputStreamWriter(p.getOutputStream()));

new Thread(new Runnable(){

public void run(){

try{

String output="";

while((output=br.readLine())!=null){

content.append(output+"\n");

content.setCaretPosition(content.getText().length());

}

System.exit(0);

} catch(Exception exe){

exe.printStackTrace();

}

}

}).start();

} catch(Exception exe){

exe.printStackTrace();

}

}

public static void main(String[] args)throws Exception {

new Test();

}

}[/CODE]

你看看是不是你想实现的功能

这个只是简单的调用了CMD的功能

----------------解决方案--------------------------------------------------------

执行的时候,光标不能乱动

都是计算好了的,你直接输入命令就可以了

你要输入命令的时候,光标一定要在最后面,默认它自动会跳到最后面去

----------------解决方案--------------------------------------------------------

不错,强,辛苦了!

----------------解决方案--------------------------------------------------------

如果对他有帮助并且他能所有进步,辛苦也值得

----------------解决方案--------------------------------------------------------

给你加个精得了,我还没给别人加过精呢

----------------解决方案--------------------------------------------------------

加个精也好,以后找起来方便

我以前写的例子都找不到了

----------------解决方案--------------------------------------------------------

加精了,真是受益良多

----------------解决方案--------------------------------------------------------

受益非浅!

3Q ~~~

----------------解决方案--------------------------------------------------------

千里,太厉害了。学习一下。

----------------解决方案--------------------------------------------------------

昨天下午5点左右,公寓突然停电,晕了.

谢谢千里冰封大哥了,我好好看看!

----------------解决方案--------------------------------------------------------

java在dos中如何测试_[求助]怎么在java中模拟dos命令行相关推荐

  1. deb 安装_本地安装DEB包的3种命令行工具(适合Ubuntu和Deepin )

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在本教程中,我们将学习如何使用三种不同的命令行工具(d ...

  2. java获取表主外键_通过 jdbc 分析数据库中的表结构和主键外键

    文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...

  3. 机器学习中qa测试_如何对机器学习做单元测试

    作者:Chase Roberts 编译:ronghuaiyang 导读 养成良好的单元测试的习惯,真的是受益终身的,特别是机器学习代码,有些bug真不是看看就能看出来的. 在过去的一年里,我把大部分的 ...

  4. java水平测试_【考试】java基础知识测试,看你能得多少分?

    1 前言 共有5道java基础知识的单项选择题,每道20分,共计100分.解析和答案在最后. 2 试题 2.1 如下程序运行结果是什么? class Parent { public Parent(St ...

  5. java 是怎么在中删除下拉列表_删除在一个下拉列表字段中选择的选项,并且不显示在该行中存在的其他下拉列表中不工作-jquery...

    我有一个包含多列的html表,在两列中我显示下拉列表 . 当用户从一个下拉列表中选择值时(选择Product1或Select Product2下拉列表),我想删除在一个下拉列表中选择的选项,并且不要在 ...

  6. java调用项目中的文件_详解eclipse项目中.classpath文件的使用

    1 前言 在使用eclipse或者myeclipse进行java项目开发的时候,每个project(工程)下面都会有一个.classpath文件,那么这个文件究竟有什么作用? 2 作用 .classp ...

  7. java中char类型_【考点】JAVA中的char类型

    写在前面: 本周,在我们同学的刷题群里,一位同学上传了一道关于char的题,引起的不少同学的热议.热议的同时,我们也发现近乎一半的同学对char的基础知识一知半解,今天我们给大家一个浅显易懂的解释,赶 ...

  8. java抽象类的构造函数如何定义_我们可以在Java的抽象类中定义参数化的构造函数吗?...

    是的,我们可以在抽象类中定义参数化的构造函数. 在抽象类中定义参数化构造函数的条件我们需要确保扩展抽象类的类具有构造函数,并且可以调用超类参数化构造函数. 我们可以通过使用super()调用在子类中调 ...

  9. java改写weka中的算法_用Eclipse在Weka中嵌入新算法

    本文介绍添加一个新算法到Weka集成环境中的过程,并能在GUI中运行并显示其结果.想做到这一点有两种方法,一是用ANT命令生成新的weka.jar(稍后写教程),二是用IDE(Eclipse或NetB ...

最新文章

  1. Transformer模型有多少种变体?复旦邱锡鹏教授团队做了全面综述
  2. 关于CLSCompliant
  3. 给IC 应届毕业生的 忠告【转载】
  4. yolo3连接网络摄像头实现目标检测命令
  5. 复习HTML CSS(2)
  6. java安卓原生影视APP源码 对接苹果cms后台
  7. 多线程---ReentrantLock
  8. 加载resnet18的代码
  9. 单例模式不能被继承_Spring的单例实现原理
  10. [BZOJ 4589] Hard Nim
  11. 蓝桥杯嵌入式旧版子驱动问题-keil5下载卡死解决方法
  12. 编程语言分类-编译型,解释型
  13. 20130114 1080p vs. 1080i
  14. 计算机中常用标点符号的英文单词
  15. 2月14日快到了, 把 ChatGPT 调教成了情诗王子, 为你守护你的爱情
  16. MySQL 导入、备份
  17. 浅谈强化学习二之马尔卡夫决策过程与动态规划
  18. 北京理工大学抢课教程
  19. 第二阶段-面向对象(四)
  20. 人才外包公司成本大揭露——一个外包人员的分析

热门文章

  1. Cloud for Customer的工作中心(work center)加载器
  2. Cloud for Customer UI designer模型里编写的script运行时是如何执行的
  3. Regarding empty field check in business document save
  4. nodejs TCP server和TCP client如何进行数据交互
  5. SAP C4C客户主数据重复检查和清洗实现
  6. 利用Docker volume修改Nginx Docker镜像里index.html
  7. Ubuntu查看系统任务管理器(cpu+内存资源占用)+查看虚拟机分配核心数
  8. oracle脚本安装,Linux脚本自动安装Oracle
  9. ios 构建版本一直在处理中_iOS -打包上传成功,在构建版本一直刷不出来
  10. 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...