2011-11-28 100 views

回答

0

readPassword()使用本機代碼關閉回顯。有可能它將取決於平臺。所以我不認爲你會得到一個簡單的純Java解決方案。爲什麼不用真正的控制檯運行程序呢?

+0

我被要求爲界,我必須使用Eclipse的IDE運行的代碼。 –

+0

AFAIK,沒有解決您的問題。 –

2

本文可能是有用的,從當時有沒有一個命令行API做密碼屏蔽:http://java.sun.com/developer/technicalArticles/Security/pwordmask/

作爲一個側面說明,是不是隻在Java 1.6中加入的Console類?你在Eclipse中遇到任何錯誤嗎?

+0

是的,我忘了提及,我在java 1.6中嘗試console.readPassword()。但是,即使那樣也行不通。 –

+0

好的,因此文章中的PasswordField類應該是您之後的內容,特別是您瞄準1.5時看到的內容。 –

0

嘗試使用擺動:

final String password, message = "Enter password"; 
if(System.console() == null) 
{ // inside IDE like Eclipse or NetBeans 
    final JPasswordField pf = new JPasswordField(); 
    password = JOptionPane.showConfirmDialog(null, pf, message, 
    JOptionPane.OK_CANCEL_OPTION, 
    JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION ? 
     new String(pf.getPassword()) : ""; 
} 
else 
    password = new String(System.console().readPassword("%s> ", message));