package org.docear.plugin.core.ui.components;
import javax.swing.JPasswordField;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.text.Element;
import javax.swing.text.PasswordView;
import javax.swing.text.View;
public class LabeledPasswordFieldUI extends LabeledTextFieldUI {
@Override
protected boolean isLabelVisible() {
return (!getComponent().isFocusOwner() && String.copyValueOf(((JPasswordField) getComponent()).getPassword()).trim().length() == 0);
}
protected String getPropertyPrefix() {
return "PasswordField";
}
protected void installDefaults() {
super.installDefaults();
String prefix = getPropertyPrefix();
Character echoChar = (Character) UIManager.getDefaults().get(prefix + ".echoChar");
if (echoChar != null) {
LookAndFeel.installProperty(getComponent(), "echoChar", echoChar);
}
}
public View create(Element elem) {
return new PasswordView(elem);
}
}