Tôi có một ứng dụng cần nhập bằng mật khẩu của người dùng.Cách xác định xem GraphicsEnvironment có tồn tại hay không
Điều tôi muốn làm là đọc mật khẩu từ bảng điều khiển (nếu hệ điều hành hỗ trợ một ví dụ) hoặc hiển thị JOptionPane và yêu cầu người dùng nhập mật khẩu của mình (nếu hệ điều hành hỗ trợ giao diện đồ họa, ví dụ: cửa sổ).
Một số người có thể lập luận rằng một bảng điều khiển sẽ luôn có sẵn trong cả hai trường hợp trên, do đó đầu vào bảng điều khiển sẽ là đủ. Nhưng vấn đề là nếu ứng dụng Java bắt đầu sử dụng javaw.exe thì một giao diện điều khiển không có sẵn. Vì vậy, tôi cần một cách để xác định xem tôi có thể làm một trong hai trường hợp hay không.
Vấn đề của tôi là cách xác định xem môi trường mà ứng dụng chạy từ hỗ trợ hoặc giao diện điều khiển hoặc giao diện đồ họa.
Tôi biết rằng một phương pháp tĩnh tồn tại GraphicsEnvironment.isHeadless()
nhưng từ doc Java tôi nghĩ rằng phương pháp này không thể phân biệt nếu hệ điều hành hỗ trợ đồ họa, nhưng thay vì nếu hệ điều hành có thể hỗ trợ một trong những thiết bị I/O (bàn phím, chuột, màn hình).
Có ai biết thêm về điều này không? Tôi có thể truy xuất nếu hệ điều hành hỗ trợ giao diện điều khiển hoặc môi trường đồ họa không?
Xin cảm ơn trước.
Xem [Có cách an toàn, có lập trình để xác định xem có an toàn để mở cửa sổ Swing không?] (Http://stackoverflow.com/questions/5893236/is-there-a-safe-programmatic- cách để xác định-nếu-nó-an toàn-để-mở-một-swing-gió) – devnull
@ devnull cảm ơn bạn đã trả lời. Vì vậy, thực sự, như bài viết khác cho thấy, phương thức isHeadless() sẽ thực hiện công việc. Tôi phải hiểu sai tài liệu Java rồi. Tuy nhiên, tôi sẽ cố gắng tìm một máy unix để chạy các ứng dụng và tôi sẽ đăng phát hiện của tôi trở lại đây. – nikkatsa