我在javafx中有一个密码字段,如果可以的话,如何使其内容可见(不带圆圈)? 我找到了与此相关的帖子,但这是针对复选框的,而我是手动对其进行更改。
How to unmask a JavaFX PasswordField or properly mask a TextField?
我也遇到了密码字段问题,无法使用setText()方法更改其文本。
public class LoginSignUpPage {
public TextField signUpUsername;
public PasswordField signUpPassword;
public PasswordField loginPassword;
public TextField loginUsername;
private boolean areLoginTextFieldsFilled(TextField userName, PasswordField passWord) {
boolean isInfoCorrect = true;
/*if (userName.getText().equals("")) {
userName.setText("enter a username");
userName.setStyle("-fx-text-fill : RED;-fx-border-color : RED;");
isInfoCorrect = false;
}*/
if (passWord.getText().equals("")) {
passWord.setText("enter a password");
passWord.setStyle("-fx-text-fill : RED;-fx-border-color : RED;");
passWord.setVisible(true);
isInfoCorrect = false;
}
return isInfoCorrect;
}
public void login(MouseEvent mouseEvent) {
areLoginTextFieldsFilled(loginUsername, loginPassword);
}
}
但setVisible无效:(
答案 0 :(得分:0)
我认为提供的示例有效。您只需将复选框替换为布尔值,然后将其用于事件即可。
boolean pass_toggle = true;
public void togglevisiblePassword(ActionEvent event) {
if (pass_toggle) {
pass_text.setText(pass_hidden.getText());
pass_text.setVisible(true);
pass_hidden.setVisible(false);
pass_toggle = false;
return;
} else {
pass_hidden.setText(pass_text.getText());
pass_text.setVisible(false);
pass_hidden.setVisible(true);
pass_toggle = true;
return;
}
}
有关详细解决方案,请提供您自己的代码或更多详细信息。