我想要一個像谷歌搜索一樣的下拉組合框(即當我們鍵入一個字母,然後顯示以該字母開頭的元素)。當下拉列表出現時,我們可以選擇其中一個詞作爲我們的文本框值。谷歌建議像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