【问题标题】:jface swt InputDialog with multiple lines带有多行的jface swt InputDialog
【发布时间】:2016-09-29 01:50:16
【问题描述】:

如何使用 SWT.MULTI 更改 Text 控件样式

我尝试覆盖该方法,但还是一样

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

【问题讨论】:

    标签: java swt jface


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      试试这样的:

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

      【讨论】:

      • 但是控件的大小还是一样的
      【解决方案3】:

      多行试试这个:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-08
        • 1970-01-01
        相关资源
        最近更新 更多