带有多行的 jface swt InputDialog

jface swt InputDialog with multiple lines

如何使用 SWT.MULTI

更改文本控件样式

我尝试重写该方法,但还是一样

@Override
protected int getInputTextStyle() {
    return SWT.MULTI | SWT.BORDER;
}

尝试这样的事情:

@Override
protected int getInputTextStyle() {
    return SWT.MULTI | super.getInputTextStyle();
}

对于多行,试试这个:

@Override
protected int getInputTextStyle() {
return SWT.MULTI | SWT.BORDER | SWT.WRAP |  SWT.V_SCROLL
 }

您需要更改对话框文本控件的布局以设置建议的高度。为此,您需要覆盖 createDialogArea 并更改布局。类似于:

@Override
protected Control createDialogArea(Composite parent) {
  Control result = super.createDialogArea(parent);

  Text text = getText();  // The input text

  GridData data = new GridData(SWT.FILL, SWT.TOP, true, false);
  data.heightHint = convertHeightInCharsToPixels(5); // number of rows 
  text.setLayoutData(data);

  return result;
}

@Override
protected int getInputTextStyle() {
  return SWT.MULTI | SWT.BORDER;
}