1

我正在研究星云网格表。我返回到该getToolTipText()方法的字符串不适合多行,同时它显示在单行中。我正在使用以下代码来实现 Multiline 工具提示。但我仍然在单行中得到那个字符串。

ColumnViewerToolTipSupport toolTipSupport = new ColumnViewerToolTipSupport(col.getViewer(), SWT.NONE, false) {
        @Override
        protected Composite createToolTipContentArea(Event event, Composite parent) {
            Composite comp = new Composite(parent, SWT.NONE);
            comp.setLayout(new FillLayout());
            comp.setBounds(0, 0, 250, 250);

            Text b = new Text(comp, SWT.LEFT);
            b.setText(getText(event));
            Activator.log("Text: " + getText(event), Status.INFO);
            b.setBackground(new Color(null, 255, 0, 0));
            b.setSize(250, 250);
            // b.addSelectionListener(new SelectionAdapter() {
            // @Override
            // public void widgetSelected(SelectionEvent e) {
            // hide();
            // MessageBox box = new MessageBox(.getShell(),SWT.ICON_INFORMATION);
            // box.setMessage("Hello World!");
            // box.setText("Hello World");
            // box.open();
            // }
            // });
            return comp;
        }



    };
4

1 回答 1

2

如果要支持多行,则需要在控件上指定SWT.MULTI样式。Text

SWT.WRAP如果您想换行长线,还要指定样式。

所以:

Text b = new Text(comp, SWT.LEFT | SWT.MULTI | SWT.WRAP);
于 2014-07-09T07:01:30.510 回答