SWT表格标题中的与号将不会显示,是否有已知的解决方法?
我必须在我的应用程序中显示一个与号,我正在寻找解决方法…
https://bugs.eclipse.org/bugs/show_bug.cgi?id=154904
如果你不想读完整的心房,就按照这个例子。

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”不会起到同样的作用-我并不是真的期待一个解决方案,但也许有人比我聪明…

最佳答案

好的,稍后版本可能会解决这个问题,但是我们有“老式”的客户,我们甚至使用Eclipse 3.4为Java 1.6生成代码(!)!)
但我找到了一个变通方法,使用了一个与我请求的符号完全相同的符号……如果将任何与号(\u0026)替换为全角与号(\uff06),则可以解决该问题….
我在http://en.wikipedia.org/wiki/Ampersand上找到了解决方案,在那里他们显示了可选的与号!
对不起,我把这里弄得一团糟!谢谢你的支持…

07-27 23:12