I need my Java program to have two display modes: a GUI interface and a command line interface. If I run it in Windows, OS X, or another graphical environment I should get
You actually have two questions:
1) Check if you run in a headless environment (no graphics). Check this method:
if (GraphicsEnvironment.isHeadless()) {
// non gui mode
} else {
// gui mode
}
2) Check which OS you are running under:
System.getProperty("os.name")
However, the second (2) question will return the same name even though you operate in a headless environment.