栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JPasswordField可以替代吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JPasswordField可以替代吗?

这是一种变体,用于

setEchoChar()
使密码在预定的时间内可见:例如三秒钟。

import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Jframe;import javax.swing.JPasswordField;import javax.swing.Timer;import javax.swing.event.documentEvent;import javax.swing.event.documentListener;public class PasswordTest {    public static void main(String[] args) {        javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() {     createAndShowGui(); }        });    }    private static void createAndShowGui() {        Jframe jf = new Jframe("Test Password");        JPasswordField jpwd = new JPasswordField();        TimedPasswordListener tpl = new TimedPasswordListener(jpwd);        jpwd.getdocument().adddocumentListener(tpl);        jf.add(jpwd);        jf.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);        jf.setLocationRelativeTo(null);        jf.pack();        jf.setVisible(true);    }}class TimedPasswordListener implements documentListener, ActionListener {    private Timer timer = new Timer(3000, this);    private char echoChar;    private JPasswordField pwf;    public TimedPasswordListener(JPasswordField jp) {        pwf = jp;        timer.setRepeats(false);    }    public void insertUpdate(documentEvent e) {        showText(e);    }    public void removeUpdate(documentEvent e) {        showText(e);    }    public void changedUpdate(documentEvent e) {}    public void showText(documentEvent e) {        if (0 != pwf.getEchoChar()) { echoChar = pwf.getEchoChar();        }        pwf.setEchoChar((char) 0);        timer.restart();    }    public void actionPerformed(ActionEvent e) {        pwf.setEchoChar(echoChar);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号