我想要一个像谷歌搜索一样的下拉组合框(即当我们键入一个字母,然后显示以该字母开头的元素)。当下拉列表出现时,我们可以选择其中一个词作为我们的文本框值。谷歌建议像Java SWT中的功能一样吗?
我能做到这一点的SWT?
comboLabel.addKeyListener(new KeyListener()
{
@Override
public void keyReleased(KeyEvent e)
{
ArrayList<String> listElements = new ArrayList<String>();
// on pressing down arrow list gets expanded i.e list drops down
if(e.keyCode == 16777218)
{
comboLabel.setListVisible(true);
}
// if key pressed is only a number of charecter or space.
else if ((e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 97 && e.keyCode <= 122) || e.keyCode == 32)
{
// for removing all previously assigned labels
comboLabel.remove(0,comboLabel.getItemCount()-1);
listElements = labels.getLabels(comboLabel.getText());
}
for (int i=0; i<listElements.size();i++)
{
comboLabel.add(listElements.get(i),i);
}
}
});
您提供在秋千的例子更新。我不知道可以在SWT完成? – nik7 2012-01-01 00:33:16
我认为SWT和Swing之间有足够的相似之处,移植一个小应用程序,比如这个是可行的。如果你有兴趣,下面是一些入门链接:http://carfield.com.hk/document/ java/tutorial/swing2swt.pdf和http://stackoverflow.com/questions/4650966/converting-an-awt-application-to-swt-jface。 – Abbas 2012-01-01 00:50:59