我是gwt的新手。我正在开发搜索小部件。我希望当用户输入文本框时,建议的字符串将显示给用户,某些字符以粗体显示,用户输入就像谷歌搜索一样..!
请帮帮我..
TextBox fnametextbox=new TextBox();
Label l = new Label("search");
VerticalPanel p = new VerticalPanel();
public void onModuleLoad()
{
fnametextbox.addKeyPressHandler(new KeyPress());
RootPanel.get().add(l);
RootPanel.get().add(fnametextbox);
}
public class KeyPress implements KeyPressHandler
{
public void onKeyPress(KeyPressEvent event)
{
String ab =fnametextbox.getText();
if(ab.length()>1)
{
greetingService.infouser(ab,new AsyncCallback<String>()
{
@Override
public void onFailure(Throwable caught)
{
Window.alert("Invalid");
}
@Override
public void onSuccess(String result)
{
System.out.println(result);
if(result==gresult)
{
System.out.println("result");
p.clear();
Label lii = new Label("not found");
p.setVisible(true);
p.setBorderWidth(1);
p.add(lii);
RootPanel.get().add(p);
}
else
{
p.clear();
p.setVisible(false);
p.setVisible(true);
p.setBorderWidth(1);
int l=0;
for (String retval: result.split("/"))
{
if(l==0)
{
Anchor an = new Anchor(retval,
false,
"http://localhost:8080/w1/",
"_blank");
p.add(an);
l++;
}
else
{
Label an=new Label(retval);
p.add(an);
l--;
}
RootPanel.get().add(p);
}
}
答案 0 :(得分:0)
您是否尝试过{-3}}在构建中提供此功能?
- 编辑 -
使用接受SuggestBox的Anchor的不同构造函数。
示例代码
String retval = "en<b>glish to hindi</b>";
Anchor anchor = new Anchor(retval, true, "http://localhost:8080/w1/", "_blank");
示例代码:(动态更改html中的值)
String match = "en";
String result = "english to hindi/english speaking/english grammer/english songs";
for (String retval : result.split("/")) {
String html = retval.replaceAll(match, "<b>" + match + "</b>");
System.out.println(html);
Anchor an = new Anchor(html, true, "http://localhost:8080/w1/", "_blank");
...
}
注意:不是一个很好的设计来获取由斜杠分隔的结果。如果搜索斜杠怎么办?