2009-07-01 64 views
4

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

+0

对于那些有这个问题的人,我通过扩展SWT Composite并且包含Label(图像)和Button(带有文本的按钮)来“解决它”。扩展SWT通常不是受支持的功能,因此您可能需要重写checkSubclass()方法。根据SWT开发者的说法,这是不受支持的,并且可能不安全,因此与此相关。 – ARF 2009-07-01 20:39:28

+0

示例代码对我们所有人都很好用。现在,我们中的任何一个想要修复的人都必须重新发明轮子。另外,我从一年前开始使用4.3 final(2013年6月5日),但仍然没有更新。考虑到从这篇文章开始5年过去了,几乎到了这个月,似乎没有任何人急于解决问题。 – 2014-05-15 17:06:23

回答

3

这似乎是一个SWT限制(至少在Windows中)。

在3.2之前,无法在按钮上设置图像和文本。通过阅读bug report,讨论了图像对文本的对齐和相对定位。看起来最终的实现只是强制中心对齐,并将图像放在文本的左侧。

有一个改进请求来解决这个限制,but it was closed as WONTFIX for 3.3