Здесь я создаю один TableView и отображаю данные в этом TableView, передавая ObservableList. Здесь наблюдаемый список берется из базы данных. И показан в виде таблицы в столбцах Name-Value. Здесь некоторые пароли также присутствуют в data.So, как скрыть эти поля пароля от пользователя?Как создать поле пароля или скрыть пароль внутри представления таблицы
0
A
ответ
1
Вы можете создать фабрику ячеек с помощью PasswordField.
Во-первых, вы должны установить заводскую ячейку.
tableColumnPass.setCellFactory(new Callback<TableColumn<YourTableBean,String>, TableCell<YourTableBean,String>>() {
@Override
public TableCell<YourTableBean, String> call(TableColumn<YourTableBean, String> cell) {
return new PasswordFieldCell();
}
});
И в вашем PasswordFieldCell, вы можете иметь следующий код, установив в графике ячейки поле пароля в методе элемента обновления.
public class PasswordFieldCell extends TableCell<YourTableBean, String> {
private PasswordField passwordField;
public PasswordFieldCell() {
passwordField = new PasswordField();
passwordField.setEditable(false);
this.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
this.setGraphic(null);
}
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if(!isEmpty()){
passwordField.setText(item);
setGraphic(passwordField);
}else{
setGraphic(null);
}
}}
Если у вас нет Бин, вы все равно можете это сделать. Просто нужно изменить cellfactory конкретного столбца.
Надеюсь, это поможет.
0
Я думаю, что этикетка может сделать это лучше .. (Базирующаяся в @Antonio J. ответ)
public class PasswordLabelCell extends TableCell<YourTableBean, String> {
private Label label;
public PasswordLabelCell() {
label = new Label();
this.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
this.setGraphic(null);
}
private String genDotString(int len) {
String dots = "";
for (int i = 0; i < len; i++) {
dots += "\u2022";
}
return dots;
}
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (!empty) {
label.setText(genDotString(item.length()));
setGraphic(label);
} else {
setGraphic(null);
}
}
}
А теперь установить ячейки колонки завод
myPasswordColumn.setCellFactory(param -> new PasswordLabelCell());
Смежные вопросы
- 1. Как скрыть символ пароля в текстовом поле
- 2. Как показать или скрыть текст в поле пароля
- 3. Шифровать пароль в поле пароля VBA
- 4. Как скрыть пароль, но скрыть символы
- 5. Как создать поле пароля в javascript
- 6. Поле пароля показывает пароль простым текстом
- 7. Как разместить ссылку на забытый пароль внутри текстового поля пароля
- 8. Показать \ Скрыть текстовое поле с видом таблицы
- 9. Как показать/скрыть пароль в Ext.form.TextField
- 10. Поле ввода пароля, созданное с помощью HTMLService, теряет тип = пароль
- 11. Создать страницу смены пароля
- 12. Проверка пароля в поле пароля
- 13. Как динамически скрыть или показать SWT пароль
- 14. Скрыть пароль с помощью «••••••» в текстовом поле
- 15. Как создать поле ввода пароля в django
- 16. Как скрыть пароль в python
- 17. Как создать безопасное поле ввода пароля в приложении командной строки?
- 18. Как создать ввод пароля
- 19. Скрыть символы, введенные при вводе пароля в текстовое поле
- 20. Как скрыть символ пароля в форме html?
- 21. Как создать поле ввода пароля с помощью Tkinter
- 22. Вид таблицы IOS внутри представления таблицы
- 23. Поле пароля в RowEditing
- 24. очищает пароль вместо обновления пароля/сброса пароля
- 25. Как создать дочерние представления с элементами внутри?
- 26. Вставка вида таблицы внутри ячейки представления таблицы
- 27. Поле пароля при редактировании
- 28. получить пароль из поля пароля
- 29. Подключение iSeries скрыть пароль
- 30. Скрыть конкретные таблицы внутри DIV
Почему не только вы хэширования пароль, так что вам не придется использовать маскировку пароля всякий раз, когда вы хотите отображать пароль. – AsirC