java和wmctrl调整窗口大小

java和wmctrl调整窗口大小,java,wmctrl,Java,Wmctrl,我正在写一个库来介绍WMctrl外壳程序。我无法调整窗口大小: String command = "wmctrl -r \"Calculator\" -e 0,100,100,500,500"; System.out.println(command); String output = this.bashCommandExecutor.execute(command); System.out.println(output); 这不起作用-输出变量为空。但是当我复制粘贴wmctrl-r“Calc

我正在写一个库来介绍WMctrl外壳程序。我无法调整窗口大小:

String command = "wmctrl -r \"Calculator\" -e 0,100,100,500,500";

System.out.println(command);
String output = this.bashCommandExecutor.execute(command);
System.out.println(output);
这不起作用-输出变量为空。但是当我复制粘贴wmctrl-r“Calculator”-e 0100100500500到终端时,它工作正常

其他命令如“wmctrl-d”和“wmctrl-l”在这个.bashCommandExecutor.execute()方法中工作

此方法如下所示:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BashCommandExecutor
{
    String execute(String bashCommand)
    {
        Process p = null;
        try {
            p = Runtime.getRuntime().exec(bashCommand);
            p.waitFor();
        }
        catch (InterruptedException | IOException e) {
            e.printStackTrace();
        }

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

        String line = "";
        StringBuilder sb = new StringBuilder();
        try {
            while ((line = reader.readLine())!= null) {
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return sb.toString();
    }
}

为什么调整大小在命令行中有效,而在Java应用程序中无效?

您找到答案了吗?找到答案了吗?