SWT表标题中的&符号解决方法

时间:2014-02-05 08:49:23

标签: java windows swt

SWT表标题中的&符号将不会显示,是否有已知的解决方法?

我必须在我的应用程序中显示&符号,我正在寻找解决方法......

https://bugs.eclipse.org/bugs/show_bug.cgi?id=154904

如果您不想阅读完整的atricle,请按照此示例

public class TableWidget {

  Display d;

  Shell s;

  TableWidget() {
    d = new Display();
    s = new Shell(d);

    s.setSize(250, 200);

    s.setText("A Table Shell Example");
    s.setLayout(new FillLayout());

    Table t = new Table(s, SWT.BORDER);

    TableColumn tc1 = new TableColumn(t, SWT.CENTER);
    TableColumn tc2 = new TableColumn(t, SWT.CENTER);
    TableColumn tc3 = new TableColumn(t, SWT.CENTER);
    tc1.setText("First&&Name"); //THESE ampersands won't be shown
    tc2.setText("Last & Name"); //and HERE
    tc3.setText("Address");
    tc1.setWidth(70);
    tc2.setWidth(70);
    tc3.setWidth(80);
    t.setHeaderVisible(true);

    TableItem item1 = new TableItem(t, SWT.NONE);
    item1.setText(new String[] { "Tim", "Hatton", "Kentucky" });
    TableItem item2 = new TableItem(t, SWT.NONE);
    item2.setText(new String[] { "Caitlyn", "Warner", "Ohio" });
    TableItem item3 = new TableItem(t, SWT.NONE);
    item3.setText(new String[] { "Reese", "Miller", "Ohio" });

    s.open();
    while (!s.isDisposed()) {
      if (!d.readAndDispatch())
        d.sleep();
    }
    d.dispose();
  }

  public static void main(String[] argv) {
    new TableWidget();
  }

}

是的,当然'\ u0026'也行不通 - 我真的不期待解决方案,但也许有人比我聪明......

1 个答案:

答案 0 :(得分:2)

好的,以后的版本可能会解决问题,但我们已经老了'客户,我们甚至使用eclipse 3.4(!!)

为java 1.6生成代码

但是我找到了一个使用符号看起来完全像我请求的符号的替代方法....如果用全宽符号(\ uFF06)替换任何&符号(\ u0026)你就摆脱了这个问题...... 。

我在http://en.wikipedia.org/wiki/Ampersand找到了解决方案,在那里他们显示了替代的&符号!

对不起,我在这里制造了这样一个烂摊子!谢谢你的支持...