RCP Application/SWT 标签加粗

RCP Application/SWT Label BOLD

它是一个 RCP 应用程序,您有一个 (a) LIST of Names,它是通过 FOR 循环下载的。

也就是说它们是菜单项,并且它们位于屏幕左侧及其各自的层(复合层)。

现在,这行得通了,困难/这里需要的是,当您双击一个项目时,它会收到一个 "SWT.BOLD" 字符,而当您单击另一个项目时,前一个会收到 SWT.NONE 和选择的 SWT.BOLD。 突出显示....

此处代码:

for (int i = 0; i < 2; i++) {
        final Label l1 = neueLabel(shell, "label "+i, i);
        l1.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseDoubleClick(MouseEvent e) {
                if(e.button==1)
                    l1.setFont(SWTResourceManager.getFont("Segoe UI", 9, 
                               SWT.BOLD));
            }
        });
    } 

坦克

您需要保存当前突出显示的标签并重置其字体。假设你的 class 有一个 private Label current; 你的覆盖方法可能看起来像

if (e.button == 1) {
    if (current != null)
        current.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.NONE));
    l1.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
    current = l1;
}