我需要我的 Java 程序有两种显示模式:GUI 界面和命令行界面。如果我在 Windows、OS X 或其他图形环境中运行它,我应该得到 GUI 界面,但如果我通过 SSH 运行它,我应该得到命令行界面。
如何检测是否可以显示 GUI,或者是否应该使用命令行界面?
最佳答案
您实际上有两个问题:
1) 检查您是否在 headless 环境中运行(无图形)。检查这个方法:
if (GraphicsEnvironment.isHeadless()) {
// non gui mode
} else {
// gui mode
}
2) 检查您在哪个操作系统下运行:
System.getProperty("os.name")
但是,即使您在 headless 环境中操作,第二 (2) 个问题也会返回相同的名称。
关于java - 如何检测是否支持图形界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245198/