从前一直从事Web开发,研究了很多Js和CSS做出来的效果,不过随着Flash越来越流行跟强大,似乎在现实特效上将来还是Flash的天下,但数据处理上不知道ActionScript是否能够取代Js呢?不过需求只是简约风格的网站的话,Js+CSS就足够了。最近一直在用SWT做东西,虽然桌面系统不需要做得太花哨,但该有的效果和用户体验是必须的,所以就总结了一下桌面开发中如何用SWT实现Web界面类似的效果。
(一)首先SWT的独立窗口是以Shell对象来显示的,每个Application必须有一个最顶层的Shell,所有的窗口图片等资源都依托于顶层的Display,如果要做一个弹出窗口,就需要创建一个子Shell,可以是模态和非模态的,举个例子:
创建一个子窗口,继承Shell写一个自己的窗口类:
public PropUp extends Shell implements MouseMoveListenr, MouseListener{
private Shell parent;
private Composite northPan;
private Point location;
public PropUp(){
super(parent,SWT.NO_TRIM);
northPan = new Composite(this,SWT.NONE);
northPan.addMouseMo

本文总结了如何使用SWT在桌面开发中实现类似Web界面的效果,包括自定义Shell窗口、按钮的多状态图片效果以及处理透明图片。通过继承Shell并重写checkSubclass方法创建自定义窗口,利用监听器实现按钮的mouseover/mouseout效果,并通过ControlListener处理图片透明部分,实现在桌面应用中的透明效果。
最低0.47元/天 解锁文章
2625

被折叠的 条评论
为什么被折叠?



