我有一个需要用户输入密码的应用程序.
我想要做的是从控制台读取密码(如果操作系统支持一个例如unix)或显示JOptionPane并要求用户输入他的密码(如果操作系统支持图形界面,例如窗口).
有些人可能会争辩说,在上述两种情况下控制台总是可用,所以控制台输入就足够了.但问题是如果Java应用程序开始使用javaw.exe,则控制台不可用.因此,我需要一种方法来确定我是否可以做任何一种情况.
我的问题是如何确定运行应用程序的环境是支持控制台还是图形界面.
我知道存在静态方法
GraphicsEnvironment.isHeadless()
但是从Java doc我认为这种方法无法区分操作系统是否支持图形,而是操作系统是否可以支持其中一种I/O设备(键盘,鼠标,屏幕).
有谁知道更多关于这个?如果操作系统支持控制台或图形环境,我能够检索吗?
提前致谢.