求问 如何写一个java的图形界面,使得可以通过在文本框内输入命令,点

求问如何写一个java的图形界面,使得可以通过在文本框内输入命令,点击run按钮,就可以运行特殊位置的cmd命令比如给F:盘下一个cmd传入可以使得文件运行的命令然后文件... 求问 如何写一个java的图形界面,使得可以通过在文本框内输入命令,点击run按钮,就可以运行特殊位置的cmd命令
比如给F:盘下一个cmd 传入可以使得文件运行的命令 然后文件就开始运行了.
整个过程不需要看到黑色的cmd框
(其实就想使界面好看一些)
十分感谢!!!
如果可以在下面设置一个文本框输出命令运行后 cmd显示的最后一行内容就更好了 不甚感激 急!
展开
 我来答
btboy1978
2017-04-24 · TA获得超过2015个赞
知道大有可为答主
回答量:2950
采纳率:57%
帮助的人:981万
展开全部

你就不给点分意思一下?

package iley.im.app;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.border.EmptyBorder;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;

public class CmdDemo extends JFrame {

private JPanel contentPane;
private JTextField textField;
private JTextPane textPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CmdDemo frame = new CmdDemo();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public CmdDemo() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 530);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lblNewLabel = new JLabel("Command");
lblNewLabel.setBounds(10, 10, 72, 15);
contentPane.add(lblNewLabel);

textField = new JTextField();
textField.setBounds(92, 7, 244, 21);
contentPane.add(textField);
textField.setColumns(10);

JButton btnNewButton = new JButton("Run");
btnNewButton.setBounds(359, 6, 65, 23);
btnNewButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
StringBuffer command = new StringBuffer("cmd /c ");
String str = textField.getText().trim();
command.append(str);
try {
Process p =Runtime.getRuntime().exec(command.toString());
InputStream in = p.getInputStream();
BufferedReader  reader =new BufferedReader(new InputStreamReader(in,"gbk"));

String line =null;
Document docs = textPane.getDocument();
while ((line=reader.readLine())!=null) {

docs.insertString(docs.getLength(), line+"\r\n", null);
}


} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (BadLocationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}


}
});
contentPane.add(btnNewButton);

textPane = new JTextPane();
textPane.setBounds(10, 40, 414, 442);
contentPane.add(textPane);
}
}

是要这个样子的吗?

更多追问追答
追问
太厉害了!

不知道还能不能麻烦你修改一下,可以提高悬赏!
我想去掉command的输入框,变成一个下拉框,自己有三个选择,分别对应A,B,C三个选项
当选择A的时候,在F:盘地址(或者某个特定的地址,比如某个文件夹下)开启cmd并且执行写死的命令,比如ipconfig也可以
同理 开启B的时候,在另一个地址开启cmd。。。
然后RUN button和下面的文本框不变。
太麻烦你了,十分感谢!
追答
没有意义啊,cmd 是系统变量,直接运行就行了,跟在那个盘运行没有关系,关键是你的命令在哪里就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式