《Eclipse SWT/JFACE 核心应用》 清华大学出版社 5.6 组合框(Combo)
组合框的样式:
SWT.DROP_DOWN:以下拉的形式显示选项
SWT.SIMPLE:以列表的形式在下方显示
SWT.READ_ONLY:编辑框的值不可以修改
组合框程序示例:
packagewww.swt.com.ch5;
import org.eclipse.swt.SWT;
public class ComboSample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("组合框");
FillLayout layout = new FillLayout();
layout.marginHeight = 20;
layout.marginWidth = 20;
shell.setLayout(layout);
final Combo combo = new Combo(shell, SWT.SIMPLE);
String[] items = new String[4];
for (int i = 0; i < items.length; i++)
items[i] = "选项" + i;
combo.setItems(items);
// 注册键盘事件
combo.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
//如果单击了向左的箭头按键,则选中上一个选项
if (e.keyCode == SWT.ARROW_LEFT)
combo.select(combo.getSelectionIndex() - 1);
// 如果单击了向右的箭头按键,则选中下一个选项
else if (e.keyCode == SWT.ARROW_RIGHT)
combo.select(combo.getSelectionIndex() + 1);
}
});
shell.setSize(200, 100);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
显示效果:
组合框的常用方法:
复制:copy()
剪切:cut()
粘贴:Paste()
清除文本框中的字符:clearSelection()
获得文本框中的字符:getText()
设置组合框文字输入的方向:setOrientation()
设置文本框最大字符数:setTextLimit()
自定义组合框CCombo类:
相对Combo增加了不同的样式:
CCombo combo = new CCombo(shell, SWT.FLAT);
SWT.FLAT:具有平面效果的组合框
SWT.BORDER:具有立体边框的组合框
SWT.READ_ONLY:只读状态的组合框
CCombo类SWT.SIMPLE常量,只使用带下拉按钮的组合框。