Имам панел. Този панел има едно текстово поле и бутон. Текстовото поле има фокусиращ слушател, за да търси някаква стойност на db, ако не е записана стойност, показва съобщение за излизане, когато в раздела. Но когато редактирате текстовото поле и щракнете върху бутона без да натискате клавиша Tab, се изпълнява следната поръчка: 1) фокусът е загубен 2) слушател на действия
Проблемът е, че извикването на фокуса е загубено, слушателят на действие трябва да се обади, когато полето за редактиране в текст ---> бутонът е натиснат (без раздела в текстовото поле)
Моля, любезно да споделите идеята си?
Отговори:
1 за отговор № 1"Ако потребителят напусне след въвеждане на нещо, обадете се на списъка с действия без да извиквате изгубен фокус
Добре, първо, не можете да изгубите фокуса, но можете да го игнорирате
public void focusLost(FocusEvent evt) {
if (textField.getText().length() > 0) {
// call action
} else {
// show error message
}
}
Добре, сега, когато можем да игнорираме фокусното събитие, как да уволним събитието?
Е, учудващо, това наистина е просто
button.doClick();