Tomato's profileA Tomato out of Fruits G...PhotosBlogListsMore Tools Help

Blog


    01/10/2005

    AsWing Alpha Released !!!

        So excited to say that AsWing Alpha is released on time !!!
        See details and download it from AsWing's home page - www.aswing.org
     
        Wish all the flash application developers will like it . 
     
     
        P.S. :   Today is Chinese National Day. 
                    Happy birthday to our motherland - China and happy National Day to my dear friends !
    25/09/2005

    Talking about "Java Swing的JScrollPane结构是否合理?" [from iiley]

        我得承认,我对 Java Swing 的确是太不熟悉了。今天在写 AsWing 的 JTextArea 时,我想要直接在JTextArea里实现滚动的效果。于是对需要实现 Viewportable 接口感到很疑惑。还好,后来询问了 iiley,才发现自己的方向性的错误。惭愧惭愧...

        转载 iiley 的一篇文章 :

     

     

    Quote

    Java Swing的JScrollPane结构是否合理?
    Java中的JScrollPane几乎负责了一切与滚动面相关的东西,比如说,你要滚动一个大的组件,把它放入一个JScrollPane中即可,而一些独特的滚动组件,比如说JList,JTextArea也是要放到JScrollPane中才能滚动。从表面上想,这似乎是合理的,良好设计的,一切需要滚动的东西都放入一个滚动面板里面,而这个滚动面板提供两个滚动条和一个视口(JViewport)。
     
    但是,在设计AsWing的时候,发现这样做极难实现JList和JTextArea,因为这两个组件的滚动内容并不是组件本身,而Java Swing也是额外提供了一个Scrollable接口给这两个组件,让其拥有专门的滚动相关的属性。而JScrollPane在滚动组件的时候,就需要先查看被滚动组件是否实现了Scrollable,如果实现了,那么强制转换成Scrollable类型,如果不是,则当一般组件滚动。这样的强制转换看起来很不舒服。而对于基于Flash MovieClip的AsWing来说,实现上更是困难,因为MovieClip是绘制了就一直存在的,所以不能像Java那样需要那一块就绘制那一块,比如说JList,如果有10000个Item,那么不可能创建10000个Item MC再来滚动,因此我采用了JList直接继承自JViewport,自己管理自己的显示内容,这样就可以不用滚动而根据自身特点实现视觉上的滚动,但是这一方法还是感觉不爽,特别是为JViewport抽象出一个接口Viewportable,而这个接口需要大量的方法,而要实现所有这些通用接口,有些实现(比如JTextArea基于Flash的TextField)可能会效率低下。
     
    在这里,我想到了所见到过的其他几个UI库,比如MM V2 Set,ActionStep,甚至其他平台的比如SWT,C#的等等,就是采用一个ScrollView,他负责滚动一般组件,而List或者Text则是直接继承自ScrollView来实现自己的滚动。是否这样才是最好的设计?
     
    JList从Java Swing的一般Component,到AsWing的提升到JViewport,到其他库List直接是ScrollView可以看出,似乎JList的滚动管理一步步升到了顶层。
     
    ………………从第一段文字的描述看,JScrollPane这样的逻辑的确很诱人,诱人的逻辑是否肯定有优雅的设计方法?是Java Swing团队没找到?我没找到?还是根本就不合逻辑?
     
    23/08/2005

    Aswing Roadmap @ 2005.08.23

     
        AsWing 今天在OSFlash上放出了时间表 :
       
    Item Date
    Release Alpha 1 September 30, 2005
    Release Alpha 2 October 30, 2005
    Release Beta 1 December 31, 2005
    Release Beta 2 January 31, 2006
    Release 1.0 February 28, 2006
     
        目前,基础的框架,设计还有核心的类都已经稳定.不过目前的进度的确很慢,主要还是大家的时间问题吧.毕竟大家都有自己的本职工作.
        还是iiley速度最快,每天就看到commit mail list上一片一片全是他的邮件.
       
        我得先检讨一下,我目前主要负责的是Text相关的组件的开发,可惜我的开发进度如下:
     
    JTextComponent - Tomato 0% -
    JTextField - Tomato 0% -
    JTextArea - Tomato 0%
     
        希望下周开始能加快进度.
        目前....还有好多Websphere和 DB2的资料等着我哎..... 
     
     
     
     
    18/08/2005

    AsWing

        AsWing是一个开源的AS(ActionScript)的GUI类库和框架。目前的目标旨在基于AS开发一套与java swing类似的GUI类库。使Flash Developer们(尤其是熟悉java swing的开发人员)能快速地开发出高效的GUI应用。从而彻底摆脱Macromedia组件的束缚。同时,结合其他的开源项目,例如MTASCECLIPSESEPY,实现完全的开源开发平台。
        我很高兴能收到iiley的邀请参与到这个项目中来,同时更高兴通过这个项目认识了优秀的朋友们。
        目前这个项目已经列在了 OSFlash 和 SourceForge 上。现在还没有成型的版本可供下载,但是可以通过SourceForge的CVS拿到正在开发中的代码。并且在AsWing的主页上有一些Demo
       
        目前大家都在为AsWing努力地工作,希望能尽早放出完整的版本。
        其实,之前iiely已经独立完成了一整套完整的类库,并且在他的项目大量地运用了。现在因为添加了新的设计,为了满足LAF(Look And Feel)的需要,大部分的类都需要重写。这也是大家目前工作的重点,同时各UI类也在不断地添加中。可以在OSFlash上的AsWing项目里查询到目前的整体开发进度。URL为:http://www.osflash.org/doku.php?id=aswing_development_status