菁's profile贫瘠的沙壤地PhotosBlogListsMore Tools Help

Blog


    December 13

    透明&&异型窗口

    这东西不支持就是不支持,做不来就是做不来。无论则么伪装都会露出马脚……

    WB6支持了透明和毛玻璃效果(其实从wb5开始就支持透明了),不过用了段时间后,发现……还是万恶的伪透明。一切都是利用快照+背景伪造出来的……如果异型窗口后有个动态的画面的话,马上就原形毕露了……

    现在我用的主题很销魂,但就是因为可恶的伪透明让我兴趣全失。相比之下我宁愿没有这种东西。

    记得以前帮同学做东西的时候,也碰到过这类问题。由于Java平台不支持顶级窗口的透明,于是想了很多伪造透明的方法。最后都可耻的失败了……

    在透明这方面,任何伪造行为都是丑陋而拙劣的……

    道听途说,据说Java7可能会支持透明和浏览器嵌入(Java自带的解释器太过时了,现在到处都是CSS)……不知道会不会也犯下同样的错误……希望不要……

    December 10

    SWT——诡异的模态

    今天去了首图,买了两本适合学龄前儿童阅读的书(貌似我买书一项如此,有机会细说)- -!

    有一本是SWT的(叫SWT程序高手秘笈,其实就是哄小孩玩的step by step)……

    字大行稀,半个小时看了半本- -!

    言归正传,看到Dialog的时候有个例子很有趣:

    /*File Name:Runner.java*/
    import org.eclipse.swt.*;
    import org.eclipse.swt.widgets.*;

    public class Runner {

    public static void main(String[] args){
    showShell();
    }

    private static void showShell(){
    Display display=new Display();
    Shell shell=new Shell(display);
    shell.open();
    DialogTest dialog=new DialogTest(shell);
    String returnValue="我还没被赋值";
    returnValue=dialog.open();
    System.out.println(returnValue);
    while(!shell.isDisposed()){
    if(!display.readAndDispatch()){
    display.sleep();
    }
    }
    display.dispose();
    }

    }

    class DialogTest extends Dialog{

    public DialogTest(Shell parent){
    super(parent);
    }

    public String open(){
    Shell parent=this.getParent();
    Shell dialog=new Shell(parent,SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL);
    dialog.open();
    Display display=parent.getDisplay();
    while(!dialog.isDisposed()){
    if(!display.readAndDispatch()){
    display.sleep();
    }
    }
    return "已被赋值";
    }

    }

    看得时候就在想:到底是SWT.APPLICATION_MODAL起到了模态的作用,还是那个循环呢(若在swing中,模态窗口,在显示后应该就不会再往下运行了——也就是说dialog.open()后面的语句没有机会在dialog关闭前运行)??

    于是注掉了循环……结果发现……窗口还是模态的。但是返回值却发生了奇妙的变化。这时候返回值变成了“已被赋值”并且马上显示……

    看来,SWT的模态有点伪模态的架势。只屏蔽了父窗口的交互操作,而在代码级别,没有真正等待用户的操作。

    这也许是SWT没有完美封装消息循环机制(我一直认为,在自己的代码里需要实现一个像SWT这样的消息循环是很丑陋的一件事)的另一个副作用吧……

    December 07

    终于可以变漂亮了

    很久没有关注WB了……因为从5开始就一直对Win2003支持不好……

    曾经听说5.5可以装在sp1版的2k3上,不过那时候我已经换SP2了……

    今天查东西时在一blog上偶然看见了wb6的一个下载,据说完美支持了win2003(以前有一种很不好的check方式来激活的wb6,试过……对win2003很不友好)。抱着再试一次不行就死心的心态(其实每次都是抱着这样的心态来装的- -!)下来了。

    装上,一重启;果然很赞~~~~

    不过发现wb的透明效果貌似是伪透明……自动隐藏的任务栏里经常会出现桌面的背景~~@_@

    不管怎么着,win2003终于也可以加主题加效果了……

    现在用的是G-pod v2主题,在IME栏处略有瑕疵;整个主题显得有点冷……其他地方都很赞~~~

    不知道从什么时候开始爱上酒红色了……疯狂的下了很多酒红色的主题~~~~- -!

    December 05

    双重标准

    前几天下了一堆漫画,今天看了《17岁,女子高生监禁杀人》还有《非法侵入》后;大脑有点过载……

    于是放弃了看《杀手阿1》的计划,挑了本比较不需要动脑子、比较和谐的漫画来看——《我的初恋情人》

    很俗的漫画,无非是生生死死、爱爱恨恨的……看到第5本之前曾经一度有睡觉的念头(由于How I meet your mother第三季还没下完,所以放弃了~~~~*^_^*)

    不过看到那个高架桥下的约定的时候,还是被触动了一下:

    有的时候就是这么寸,当等待的人终于放弃了的时候,却正是不必再等待的时候。

    想起了某化妆品的广告语——等待,希望时间快一点;相聚,又希望流失慢一点……

    让一个人无限的等下去,是不公平的;而漫画中的情节,确是很悲情的……

    HIMYM里面也谈到了关于远距离感情的事……同样是不了了之了……

    前一阵看的新海诚的作品,也几乎全部都是在讲这个……

    在等待这件事情上,大家都在执行这双重标准吧——等待的一方,希望早日结束等待;而被等待的一方,希望得到一个承诺。

    双方为了维系关系,往往就会不自觉的做一些刻意的事情……

    而在外力的作用下,这些刻意的举动都会显得那么的苍白无力……