我想制作一个简单的 Java 程序,它显示从浏览器或其他以星号形式隐藏的应用程序复制的密码。
我写了一些代码,但它不起作用!
例如,当我从 Facebook 密码字段复制密码并将其粘贴到我的程序的 JPasswordField 时。然后将其转换为普通文本,它显示错误的输出(实际上,它给了我我的类名,这很奇怪)
但是,当我复制任何普通文本并将其粘贴到 JPasswordField 然后获取文本时,它会返回正确的普通文本!
那么为什么它不起作用呢?如果我的问题看起来有点愚蠢,我很抱歉。我是编程新手,尤其是实用程序。我怎样才能让它工作?:D
在此先感谢,这是代码:
class PasswordViewer extends JFrame {
JPasswordField field = new JPasswordField(20);
JButton btn = new JButton("OK");
JPanel panel = new JPanel();
char[] s;
PasswordViewer() {
setSize(300, 300);
panel.add(field);
panel.add(btn);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(panel);
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
s = field.getPassword();
findPass();
}
});
}
void findPass() {
String str = "";
for (int i = 0; i < s.length; i++) {
str += s[i];
}
JOptionPane.showMessageDialog(null, str, "PasswordViewer",
JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String[] args) {
PasswordViewer passview = new PasswordViewer();
passview.setVisible(true);
}
}