Eclipse plugin 将图像添加到标签建议中

Eclipse plugin 将图像添加到标签建议中,eclipse-plugin,swt,eclipse-rcp,Eclipse Plugin,Swt,Eclipse Rcp,在我的项目中,我需要在一个组合中创建一些播放、暂停和停止按钮。 为此,我创建了一个组合并在那里添加了这些按钮。我还添加了图像 对于每个按钮。但是画完之后,它看起来不太好。我的意思是按钮上的图像看起来不好。客户不满意。现在是否可以将图像添加到标签并为标签提供一些切换按钮操作?我知道我可以在标签上添加图像。但是,当我单击标签时,它不会产生按钮效果。如果您想要自定义“按钮”外观,您可以使用带有自定义图像的标签(一个用于正常状态,另一个用于“按下”状态。类似于: final Label stop = n

在我的项目中,我需要在一个组合中创建一些播放、暂停和停止按钮。 为此,我创建了一个组合并在那里添加了这些按钮。我还添加了图像
对于每个按钮。但是画完之后,它看起来不太好。我的意思是按钮上的图像看起来不好。客户不满意。现在是否可以将图像添加到标签并为标签提供一些切换按钮操作?我知道我可以在标签上添加图像。但是,当我单击标签时,它不会产生按钮效果。

如果您想要自定义“按钮”外观,您可以使用带有自定义图像的标签(一个用于正常状态,另一个用于“按下”状态。类似于:

final Label stop = new Label(composite, SWT.NONE);
stop.setSize(STOP_IMG.getImageData().width, STOP_IMG.getImageData().height)

stop.setBackgroundImage(STOP_IMG);
stop.addMouseListener(new MouseAdapter()
{
    @Override
    public void mouseUp(MouseEvent e)
    {
        stop.setBackgroundImage(STOP_IMG);              
    }

    @Override
    public void mouseDown(MouseEvent e)
    {
        stop.setBackgroundImage(STOP_DOWN_IMG);
        // DO ACTION
    }           
});
对于一个好的用户界面,您还可以添加一个捕鼠器侦听器,并为鼠标悬停状态创建不同的图像


这样做的缺点是,由于它只会响应鼠标事件,所以不易访问。如果采用这种方法,您应该考虑创建自己的类来扩展MouseAdapter,并在构造函数中调用标签、图像和操作,这样您就不会得到大量非常类似的匿名类。

以前的d工具栏实现了不错的效果

这将创建一个工具栏,其中包含一个行为类似于常规按钮的项目:

//Toolbar button
ToolBar toolBar = new ToolBar(composite,SWT.FLAT);
ToolItem toolItem = new ToolItem(toolBar,SWT.PUSH);
toolItem.setImage(image);
这将创建一个工具栏,其中包含具有切换行为的项:

//Create a toggle effect
ToolBar toggleToolBar = new ToolBar(composite,SWT.FLAT);
ToolItem toggleToolItem = new ToolItem(toggleToolBar,SWT.CHECK);
toggleToolItem.setImage(image);

你想达到什么样的用户界面效果?按钮的外观有什么不满意的地方?按钮看起来会更大,这意味着它看起来不好,但如果我们将图像应用到标签上,它看起来会很好。就像我们将图像添加到动作中。无论如何,我不能将动作用于合成。因此我需要类似于addin的东西将图像添加到我需要的操作中。这也是客户所期望的。我无法使用工具栏,因为我必须将按钮或标签添加到组合中。我不想添加到工具栏。我发布的片段将它们添加到组合中。您好,我将以这种方式进行检查。但我们仍然可以达到单击标签的效果吗?无论如何,我会尝试。是的,使用此技术,您可以在使用整个按钮的图像时完全控制外观。您需要创建两个图像,一个用于向上状态,另一个用于向下状态