java jframe返回cmd的内容 并把背景改成黑色
时间: 2024-05-06 21:17:59 浏览: 78
你可以使用Java的Runtime类来执行cmd命令,并使用Process类获取输出结果。同时,可以使用JFrame的setBackground()方法将背景色设置为黑色。
以下是示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CmdFrame extends JFrame {
private JTextArea outputTextArea;
public CmdFrame() {
setTitle("CmdFrame");
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 创建一个JTextArea用于显示cmd输出结果
outputTextArea = new JTextArea();
outputTextArea.setEditable(false);
outputTextArea.setFont(new Font("Consolas", Font.PLAIN, 12));
// 将JTextArea放入JScrollPane中,实现滚动效果
JScrollPane scrollPane = new JScrollPane(outputTextArea);
// 将JScrollPane添加到JFrame中
getContentPane().add(scrollPane, BorderLayout.CENTER);
// 设置JFrame背景色为黑色
getContentPane().setBackground(Color.BLACK);
}
public void runCmd(String cmd) {
try {
// 执行cmd命令
Process process = Runtime.getRuntime().exec(cmd);
// 获取cmd输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
outputTextArea.append(line + "\n");
}
// 等待cmd命令执行完毕
process.waitFor();
// 关闭BufferedReader和Process
reader.close();
process.destroy();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 创建CmdFrame对象
CmdFrame cmdFrame = new CmdFrame();
// 运行cmd命令并将输出结果显示在窗口中
cmdFrame.runCmd("dir");
// 设置窗口大小并显示
cmdFrame.setSize(800, 600);
cmdFrame.setVisible(true);
}
}
```
在上面的示例代码中,我们创建了一个名为CmdFrame的JFrame,其中包含一个JTextArea用于显示cmd输出结果。在runCmd()方法中,我们使用Java的Runtime类来执行cmd命令,并使用Process类获取输出结果。最后,我们将JScrollPane添加到JFrame中,并使用setBackground()方法将背景色设置为黑色。
在main()方法中,我们创建了一个CmdFrame对象,并使用runCmd()方法运行了一个dir命令。最后,我们设置窗口大小并显示窗口。
阅读全文