gpt4 book ai didi

java - Nebula gridTableViewer 单元格内容应该换行

转载 作者:行者123 更新时间:2023-11-30 04:05:39 25 4
gpt4 key购买 nike

我在我的应用程序中使用星云gridTableViewer,在它的单元格中有时内容太长,所以我想显示为WRAP(多行)。我对其进行了更改,但它没有反射(reflect)出来:

我添加了 SWT.WRAP 但不起作用,我也尝试将文本包装在 LabelProvider 中,但它也不起作用,所以我该怎么做?

我是否需要为此添加监听器。

最佳答案

将 SWT.WRAP 添加到 gridTableViewer 不会导致网格单元中的文本换行。gridColumn.setWordWrap(true) 会导致在将输入的值应用到编辑器(调用 setvalue)后,在单元格中输入的文本进行换行。要以交互方式换行文本,应将 SWT.WRAP 作为样式添加到 TextCellEditor 或放置在单元格中的文本小部件。

gridViewerColumn.getColumn.setWordWrap(true);
gridTableViewer.setEditingSupport(new EditingSupport(gridTableViewer) {
....
@Override
protected CellEditor getCellEditor(Object element) {
TextCellEditor cellEditor = new TextCellEditor(gridTableViewer.getGrid(),
SWT.WRAP)
return cellEditor;
}

或者

....
final GridItem item = grid.getItem(grid.getTopIndex());
for (int i = 0; i < grid.getColumnCount(); i++) {
final Text text = new Text(grid, SWT.WRAP);
Listener textListener = new Listener() {
public void handleEvent(final Event e) {
switch (e.type) {
case SWT.FocusOut:
item.setText(column, text.getText());
....
}
}
}
}

我之前在 TextCellEditor 中使用过 SWT.WRAP,并且它有效。

关于java - Nebula gridTableViewer 单元格内容应该换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20782409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com