转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/53214820
1.背景
JavaFx提供了密码框的专用控件PasswordField,但是最近碰到了“兼容性”问题,密码框控件在本机运行正常,但是在把它换到其他机器上运行起来后,各种问题就出现了:
- 黑色圆点变为了空心的方框。
- 密码框中内容不显示
因此,就萌生了用TextField替代PasswordField的想法,不过实现出来的效果是比较密码框时会明文显示密码,这一点暂时还没有找到可行方法,本文仅供大家参考。
密码框编辑状态:
焦点移除状态:
2.实现
首先,创建密码框替代对象,提供两个功能:
- 1、记录真实密码;
- 2、创建TextField控件。
import com.amap.axf.client.event.TextFieldFocusListener;
import com.amap.axf.client.event.TextFieldTextListener;
import javafx.scene.control.TextField;
/**
* Created by loongshawn on 2016/11/16.
*
* NOTE 为了避免密码框显示异常,通过textfield代替
*/
public class MyStyleTextFieldOfPassWord {
private String password;
private String echo;
public void setPassword(String password){
this.password = password;
}
public String get