星云网格的多线工具提示

时间:2014-07-09 06:47:30

标签: java grid swt jface nebula

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

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;
        }



    };

1 个答案:

答案 0 :(得分:2)

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

如果要包裹长行,也请指定SWT.WRAP样式。

所以:

Text b = new Text(comp, SWT.LEFT | SWT.MULTI | SWT.WRAP);