Eclipse RCP - 自动缩小TableViwer单元格中的文本

时间:2011-07-28 21:28:40

标签: swt eclipse-rcp jface

我正在开发我的第一个Eclipse RCP应用程序,我想知道如何强制JFace TableViewer组件自动收缩表格单元格中的文本。现在,如果我在模型中传递包含多行文本的属性,则文本将按原样显示,这会导致表中的每一行具有不同的高度:

enter image description here

我想要的只是一条线,如果该线(如果它太长而不适合单元格)将被转换为“我是一个非常长的林......”并且如果窗口的大小改变这条线变成'我是一个非常非常长的生活线......',其中完整的属性是例如。 '我是一个非常长的生活在一个表格单元格\ r \ n和其他一些文本'。

2 个答案:

答案 0 :(得分:2)

我不是100%确定我完全理解你想要的东西。

如果您要从表格单元格文本中删除换行符,则应在设置单元格文本之前使用标准方法(String.replace())执行此操作。

如果您希望调整列宽以适合所有文字,请查看TableColumn.pack()

答案 1 :(得分:0)

最后我像大卫建议的那样:

col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            String desc = ((Product) cell.getElement()).getDescription();
            desc = desc.replaceAll("\\r\\n|\\r|\\n", " ");
            cell.setText(desc);
        }
    });