这是一个RCP应用程序,你有一个(a)名称列表,它是通过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));
}
});
}
罐
答案 0 :(得分:0)
您需要保存当前突出显示的标签并重置其字体。假设您的班级有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;
}