Java 在SWT按钮中对齐文本和图像?

Java 在SWT按钮中对齐文本和图像?,java,swt,Java,Swt,我在Java中使用SWT,并尝试将SWT按钮中的图像和文本左对齐。看起来应该是一个简单的button.setAlignment(SWT.LEFT)调用,但这不起作用。快速的谷歌搜索让我相信这可能是SWT框架中的一个bug。有人对此有帮助吗?这似乎是SWT的限制(至少在Windows中是这样) 在3.2之前,无法在按钮上同时设置图像和文本。通过阅读,对图像与文本的对齐和相对定位进行了一些讨论。最终的实现似乎只是强制进行中心对齐,并将图像放置在文本的左侧 有一个增强请求来修复这个限制。是的,这也是我

我在Java中使用SWT,并尝试将SWT按钮中的图像和文本左对齐。看起来应该是一个简单的button.setAlignment(SWT.LEFT)调用,但这不起作用。快速的谷歌搜索让我相信这可能是SWT框架中的一个bug。有人对此有帮助吗?

这似乎是SWT的限制(至少在Windows中是这样)

在3.2之前,无法在按钮上同时设置图像和文本。通过阅读,对图像与文本的对齐和相对定位进行了一些讨论。最终的实现似乎只是强制进行中心对齐,并将图像放置在文本的左侧


有一个增强请求来修复这个限制。

是的,这也是我剩下的。好吧,我就这么说。我有一个“解决方法”,我将在我的问题的评论中发布。对于那些有这个问题的人,我通过扩展SWT组合“解决了它”,并让它包含一个标签(图像)和一个按钮(带文本的按钮)。扩展SWT通常不受支持,因此您可能需要重写checkSubclass()方法。同样,根据SWT开发人员的说法,这是不受支持的,并且可能不安全,因此请注意这一点。现在,我们中任何一个想要修复的人都必须重新发明轮子。此外,我使用的是一年前的4.3 final(2013年6月5日),但仍然没有更新。考虑到这篇文章已经过去了5年,几乎是一个月,似乎没有人会着急。这里描述了一种涉及定制绘画的替代方法:(虽然这描述了在图像上方绘制文本,但原理是一样的)