jface swt具有多行的InputDialog

时间:2016-09-29 01:50:16

标签: java swt jface

如何使用SWT.MULTI

更改文本控件样式

我尝试重写方法,但仍然是相同的

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

enter image description here

3 个答案:

答案 0 :(得分:3)

您需要更改对话框文本控件的布局以设置建议的高度。为此,您需要覆盖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;
}

答案 1 :(得分:0)

尝试这样的事情:

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

答案 2 :(得分:0)

对于多行试试这个:

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