import org.eclipse.swt.custom.CCombo; //导入方法依赖的package包/类
public LabelTimeComposite(Composite composite, String labelText, String toolTipText) {
super(composite, SWT.NONE);
props.setLook(this);
int middle = props.getMiddlePct();
int threeQuarters = (middle + 100) / 2;
int margin = Const.MARGIN;
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = 0;
formLayout.marginHeight = 0;
formLayout.marginTop = 0;
formLayout.marginBottom = 0;
this.setLayout(formLayout);
wText = new Text(this, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
FormData fdText = new FormData();
fdText.left = new FormAttachment(middle, margin);
fdText.right = new FormAttachment(threeQuarters, 0);
wText.setLayoutData(fdText);
wText.setToolTipText(toolTipText);
wTimeUnit = new CCombo(this, SWT.SINGLE | SWT.DROP_DOWN | SWT.BORDER | SWT.LEFT);
FormData fdCombo = new FormData();
fdCombo.left = new FormAttachment(threeQuarters, margin);
fdCombo.right = new FormAttachment(100, 0);
wTimeUnit.setEditable(false);
wTimeUnit.setLayoutData(fdCombo);
wTimeUnit.setItems(getTimeUnits());
wTimeUnit.setToolTipText(toolTipText);
wLabel = new Label(this, SWT.RIGHT);
props.setLook(wLabel);
wLabel.setText(labelText);
FormData fdLabel = new FormData();
fdLabel.left = new FormAttachment(0, 0);
fdLabel.right = new FormAttachment(middle, 0);
fdLabel.top = new FormAttachment(wText, 0, SWT.CENTER);
wLabel.setLayoutData(fdLabel);
wLabel.setToolTipText(toolTipText);
wText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
if (!StringUtils.isNumeric(wText.getText())) {
wText.setText(lastValidValue);
} else lastValidValue = wText.getText();
}
});
}