gpt4 book ai didi

java - 在控制台模式和图形模式之间切换

转载 作者:行者123 更新时间:2023-12-01 06:41:57 24 4
gpt4 key购买 nike

我只是想知道是否有某种方法可以在控制台模式和图形模式之间切换。我在 swing 上使用 java。

我想知道是否可以在 shell 中键入一些内容以进入控制台模式,然后键入一些内容以返回到桌面。或者如果我可以在启动时按某个键,或者其他什么。这个想法是让我的服务器在控制台模式下运行,但当我想更轻松地完成任务时可以使用桌面。

最佳答案

您可以使用java.awt.GraphicsEnvironment.isHeadless()检查您的程序运行环境是否支持GUI:

public static void main(String[] args){
if (GraphicsEnvironment.isHeadless()){
// Run console mode
} else {
// Start in GUI mode
}
}

但是,如果我是您,我会将其设为命令行开关,以便您也可以在图形环境中使用控制台模式。为了最大程度地方便起见,这将是一个非强制选项,默认为某种“自动”选项,该选项使用 isHeadless 检查,例如:

public static void main(String[] args){
final List<String> arguments = Arrays.asList(args);
final int modeIndex = arguments.indexOf("-mode");
final String mode = modeIndex == -1 ? "auto" : argument.get(modeIndex);
if ("auto".equals(mode)) runAuto();
else if ("console".equals(mode)) runConsole();
else if ("gui".equals(mode)) runGui();
else System.err.println("Bad mode: " + mode);
}

private static void runGui(){ ... }
private static void runConsole(){ ... }
private static void runAuto(){
if (GraphicsEnvironment.isHeadless()) runConsole();
else runGui();
}

(TODO:添加错误处理、删除魔术字符串文字等)

因此,使用 java YourMainClassjava YourMainClass -mode auto 启动您的程序,它会根据您的需要做出有根据的猜测,您需要 GUI 还是控制台,请使用 java YourMainClass -mode console 强制控制台模式,或 java YourMainClass -mode gui 强制 GUI 模式。

关于java - 在控制台模式和图形模式之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1254185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com