按钮字段(使用图像作为按钮)焦点问题



在一行中,我们显示文本字段以输入搜索文本以及搜索图像作为按钮字段。在该行的下方,我们显示名称列表。

这里的问题是,在键盘箭头键向下移动期间,图像按钮字段无法获得焦点。但是在向上移动的过程中,当我们单击向左箭头时,它会获得焦点。但对于向下运动并不是获得向上箭头运动的焦点。

用于输入搜索文本的文本字段:

final TextField tfTeamSearch = new TextField();      
tfTeamSearch.setFocus(true);

图像按钮字段:

btnSearchImage = new Button();
btnSearchImage.setIcon(imgSearchUnFocus);
btnSearchImage.getStyle().setBgTransparency(0);
btnSearchImage.getStyle().setBorder(null);
btnSearchImage.getStyle().setFont(font);
btnSearchImage.getSelectedStyle().setFont(font);
btnSearchImage.getPressedStyle().setFont(font);
btnSearchImage.getUnselectedStyle().setFont(font);
btnSearchImage.setFocusable(true);

你能帮我如何使用箭头键设置向上和向下运动的焦点吗?

首先:如果您希望将焦点设置为TextField,则应使用tfTeamSearch.requestFocus()而不是tfTeamSearch.setFocus(true)tfTeamSearch.setFocus(true)仅更改样式。

其次:您可以使用Component方法setNextFocusDownsetNextFocusUpsetNextFocusLeftsetNextFocusRight来设置焦点下的下一个组件。

最新更新