求问 如何写一个java的图形界面,使得可以通过在文本框内输入命令,点
求问如何写一个java的图形界面,使得可以通过在文本框内输入命令,点击run按钮,就可以运行特殊位置的cmd命令比如给F:盘下一个cmd传入可以使得文件运行的命令然后文件...
求问 如何写一个java的图形界面,使得可以通过在文本框内输入命令,点击run按钮,就可以运行特殊位置的cmd命令
比如给F:盘下一个cmd 传入可以使得文件运行的命令 然后文件就开始运行了.
整个过程不需要看到黑色的cmd框
(其实就想使界面好看一些)
十分感谢!!!
如果可以在下面设置一个文本框输出命令运行后 cmd显示的最后一行内容就更好了 不甚感激 急! 展开
比如给F:盘下一个cmd 传入可以使得文件运行的命令 然后文件就开始运行了.
整个过程不需要看到黑色的cmd框
(其实就想使界面好看一些)
十分感谢!!!
如果可以在下面设置一个文本框输出命令运行后 cmd显示的最后一行内容就更好了 不甚感激 急! 展开
1个回答
展开全部
你就不给点分意思一下?
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 是系统变量,直接运行就行了,跟在那个盘运行没有关系,关键是你的命令在哪里就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询