Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 防止SuggestBox中的无效用户输入?_Java_Gwt - Fatal编程技术网

Java 防止SuggestBox中的无效用户输入?

Java 防止SuggestBox中的无效用户输入?,java,gwt,Java,Gwt,我有SuggestBox使用GWT获取用户输入并在弹出窗口中显示建议 SuggestBox suggestBox = new SuggestBox(myData, new TextArea()); 如何防止用户在文本区域中输入没有建议的字符 我想,SuggestBox会检查放入TextArea的文本,然后显示建议。但是我怎样才能防止不再匹配的字符呢?如果你真的需要的话 TextArea area = new TextArea(); area.addKeyDown

我有
SuggestBox
使用GWT获取用户输入并在弹出窗口中显示
建议

SuggestBox suggestBox = new SuggestBox(myData, new TextArea());
如何防止用户在
文本区域
中输入没有建议的字符


我想,
SuggestBox
会检查放入
TextArea
的文本,然后显示建议。但是我怎样才能防止不再匹配的字符呢?

如果你真的需要的话

   TextArea area = new TextArea();
             area.addKeyDownHandler(new KeyDownHandler() {

                @Override
                public void onKeyDown(KeyDownEvent event) {
                    if(event.getNativeKeyCode()==13 ||....){//Add remaining key codes which you dont want.For example i added enter key which keycode is 13.Remove that and add your key codes there. 
                        event.preventDefault();
                 }  
                }
            });
然后

SuggestBox suggestBox = new SuggestBox(myData,area);

为什么你要阻止用户输入,并发现与他的输入不匹配?
SuggestBox
,顾名思义,是关于建议的;这不是一个组合框。它可能会以这种方式工作,但是,相信我,有太多的陷阱,从零开始比较容易,或者使用类似的方法是一种很好的通用方法,无论如何,我只想在没有可用建议的情况下阻止某些键/字符。因此,我不能仅仅在一般情况下阻止一个键码,因为我当然不想在开始时阻止任何字符。仅限与建议匹配的字符。因此,建议下拉列表将显示,但不会隐藏,因为用户无法输入任何无效字符。但是我不知道如何做到这一点……我不知道它有多贵……把你建议的项目的第一个字母都列在一个列表中,然后在用户键入时检查。如果在列表中找不到该字母,则返回其他建议。。