我想知道是否可以使用具有透明背景或没有背景的SWT创建窗口(即,只显示按钮和文本浮动)。
我尝试使用setBackground()
功能,如:
shell.setBackground(display.getSystemColor(SWT.TRANSPARENT));
但它只会显示一个黑色背景窗口,而不是透明窗口。任何方式这样做?
答案 0 :(得分:5)
请参阅How to Create Translucent and Shaped Windows(Java 7 +)。
..(SWT)使用本机窗口方案,而不是丑陋/自定义窗口方案。 ..
对原生PLAF使用Swing。
我。
..你想要组件(按钮等),而不是
Window
(或祖先)的透明度?
你回复了。
不一定是组件本身,而是组件所在的“区域”。如果查看上面的嵌套布局示例,您会看到win 7的透明边框,然后您会看到正常的灰色背景。我希望那个灰色的背景也是透明的。
您可以使用每像素半透明创建一个窗口,其中每个像素都有自己的Alpha值。例如,通过此功能,您可以通过在Alpha值中定义渐变来创建一个渐渐消失的窗口。
顺便说一句,第3张截图实际上是第二张图片直接从我回复的第一句中链接的页面(我获得上述引用的同一页面)链接。您是否按照链接阅读了页面(查看截图),尝试工作示例?