如何检测是否支持图形界面?

Fil*_*ido 22 java user-interface command-line

我需要我的Java程序有两种显示模式:GUI界面和命令行界面.如果我在Windows,OS X或其他图形环境中运行它,我应该获得GUI界面,但如果我通过SSH运行它,我应该得到命令行界面.

如何检测GUI是否可以显示或是否应该使用命令行界面?

dac*_*cwe 31

你实际上有两个问题:

1)检查您是否在无头环境中运行(无图形).检查此方法:

if (GraphicsEnvironment.isHeadless()) {
     // non gui mode
} else {
     // gui mode
}
Run Code Online (Sandbox Code Playgroud)

2)检查您运行的操作系统:

System.getProperty("os.name")
Run Code Online (Sandbox Code Playgroud)

但是,即使您在无头环境中操作,第二个问题也将返回相同的名称.