加载中…
个人资料
WilliamChen
WilliamChen
  • 博客等级:
  • 博客积分:0
  • 博客访问:528,750
  • 关注人气:232
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
评论
加载中…
访客
加载中…
博文
标签:

it/科技

    在用了新浪的博客接近10个月后,我决定把博客迁移到新的博客空间去。今天收到了planetnetbeans.org admin的信,说我的博客的RSS feed经常造成planetnetbeans.org中文版的系统当掉。以前就想迁移博客,因为新浪的博客非常难用了,还整天升级,而且也不是计算机技术专业博客网站。所以借这个机会把博客搬了。
    目前临时把博客放到http://blogs.sun.com/swing。这个博客是以前我用的博客。当时由于误信了同事的话,把博客搬到了新浪,现在觉得还是那儿好。请喜欢我的博客的朋友从今后到http://blogs.sun.com/swing去访问我的博客吧。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

IT/科技

java

ide

netbeans

字体设置

分类: Swing
    前面一篇介绍netbeans字体配置文章引起许多netbeans爱好者的关心。于是我提交了一个rfe希望他们改进中文netbeans字体,这个rfe的是:
    目前正在处理中。其基本内容是希望netbeans 6能将中文版的缺省编辑器的字体改为DialogInput/12。在此过程中我们发现netbeans居然没有配置全局字体的选项,因此又提交了一个配置netbeans全局字体的rfe,即不仅仅可以配置编辑器字体,还应该有一个配置其他窗口或者菜单的地方,以便解决诸如输出窗口字体的问题。这个个rfe在:
    希望征集大家对此rfe的意见,请大家去这个地方发表你的建议及想法。
    另外注意你需要注册一个netbeans用户才能发表意见。注册过程很简单,只需要一个有效em
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

IT/科技

java

swing

advanced

programming

分类: Swing
     最近两周工作一直很忙,开发swing_designer空闲时间几乎没有,只在两个周末继续完善了一下属性编辑功能,并对以前功能进行重构。到目前位置主要的改进有:
     1.将属性进行分类显示,分为常用属性、其他属性、布局限定属性以及布局管理器属性几个部分。 
     2.扩充常用组件他常见编辑属性。由于每个组件需要的属性编辑器很多,因此相关的PropertyEditor、TableCellEditor及TableCellRenderer等类继续膨胀。BeanInfo类继续丰富,BeanInfo配置文件由单个配置文件变成多个可以任意添加的配置文件。目前为止项目的规模是281个类,139资源和配置文件。
     3.重构了AdapterBus扩展点结构。添加ContainerAdapter和BorderAdapter来简化容器类操作和边框类型的扩展。Adapter类由全局单个实例变成每个组件对应一个实例,支持有有状态类型的操作。
     总之,这一阶段的工作还是上一阶段的继续扩展和完善。下一步工作是继续添加扩充常用组件属性,添加编辑管理事件处理器。
  &nbs
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it/科技

java

ide

netbeans

字体设置

分类: Swing

        今天看该文档时,突然意识到通过修改JRE的字体配置文件,可以改变所有Swing应用程序的字体显示。

        NetBeans被许多我们中国java开发者指摘的地方就是它的字体难看。细分析一下原因不难找出:netbeans代码编辑器和输出窗口使用monospaced字体来显示,而monospaced代表着等宽字体,应该是显示程序源代码的合理选择。monospaced是种逻辑字体,它在不同语言和操作系统上映射为不同的物理字体。一般英文操作系统将monospaced字体映射为Courier New。这种字体非常美观,适宜于显示源代码,在Eclipse和Microsoft Visual Studio等IDE中是显示源代码的缺省字体,它也是许多技术网站、博客或者论坛显示源代码的缺省字体。

  

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it/科技

java

advanced

swing

programming

分类: Swing
   周末将swing_designer项目开发向前推进了一大步,主要是添加了组件导航树和属性编辑表,使其具备了界面设计工具的基本功能。这些功能需要BeanInfo机制的支持,每种类型组件基本上都需要相应的beaninfo类,属性编辑表中TableCellEditor及TableCellRenderer的实现也需要大量的类,因此整个项目规模急剧膨胀,现在已经扩张到了22个包190个类。
    本周剩下的时间不打算再添加新的功能,只对现有项目进行一次清理、重构,添加必要的注释和文档,并将这部分实现的基本思想和技术写出来。
    下面是几个截图。
设计工具运行窗口
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it/科技

java

swing

advanced

programming

分类: Swing
     增加了从组件面板拖拽组件到界面设计工具上的功能。以前的做法是要先选中组件,然后才能进行设计。还有一个改进是,在布局管理器中支持拖拽定位。举例来说,假设在BorderLayout的容器中已经添加了组件A和B到North和Center,后来发现应该把B放到South,而A应该放在Center,就可以直接通过拖拽A和B到新的位置,而不需要删除重新添加。下面是几个截图:
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it/科技

java

swing

advanced

programming

分类: Swing
    解决复杂问题常用的一个方法是分析综合法,或曰分而治之,即将复杂的问题分解成简单的子问题。解决了每个子问题后,再将它们集成起来。若每个子问题还是太复杂,则可重复此过程直至简单到容易解决为止。如果问题本身比较复杂,但又不容易继续分下去,则可试着将问题模型进行简化,在此基础上开发出原型后,再陆续添加其其他功能,逐步丰富直至接近问题的原始规模。
    Swing界面设计工具是比较复杂的软件系统。在开发之前,我们应该先将它进行分析简化。根据以前的经验,这类工具的功能模块大体上分为三个部分:
    1.界面设计组件,以所见即所得的可视化方式显示当前正在设计的界面,功能包括组件的选取和编辑两大部分,其中选取根据类型可分为单选、多选、区域选择、组件拖放、大小调整等等,组件的编辑包括组件的添加、删除、复制、剪切、粘帖、对齐、布局管理等等。除这些功能外,界面设计组件还应向属性编辑页、组件选择面板、组件选择工具栏等系统其他部分提供事件和动作接口。
    2.界面设计辅助工具,如属性、事件、布局的查看和编辑工具属性页,设计组件
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

java

swing

advanced

programming

分类: Swing
    对于未知技术的原理,我总喜欢自己想像它是如何实现的。我上学时互联网搜索技术还没有怎么流行。大家学习新技术的方法,总是第一去查教科书,第二去找论文,第三去问师兄。而我想知道的技术往往都是教科书上找不到,论文中很少提及的,师兄们很少去想的事情。于是很多时候就自己想像它们是如何实现的。
    图形界面设计技术对我来说就是这样。我很早以前就对这种技术很感兴趣,但是能够查找到的资源很少。我常常自己冥想图形设计界面是如何画出来的;描述界面的元数据和代码是如何解析和映射的;界面组件属性是如何设置和查看的。后来随着对于Swing原理和技术的深入了解,使得我对实现界面设计工具越来越胸有成主,终于在2002年某个时候,大胆动手,一气呵成。后来又分别在2003年和2005年分别做过一个,对于其中具体实现技术又有了更深刻的理解。
    言归正传,前文提到的三个问题也是Swing界面设计工具首先要解决三个问题。
    Swing图形设计工具界面的绘制一般使用Swing的Renderer思想实现。Renderer思想在前面许多文章中都有提及,其基本原理是将渲染组件的图形对象
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

java

swing

advanced

programming

    整整两周时间没有打起精神,加上工作上比较忙,几乎把博客都荒废了。许多朋友的问题也没有及时解答,觉得有点对不起大家了。当初开始写博客,并没有报太多的奢望,总觉得浮躁的社会是不适合认认真真做学问,踏踏实实做人的。然而许多热心朋友的支持,让我越来越觉得每篇文章都要认认真真对待,仔细负责的写作,而不能随便的应付。
    由于单纯写技术方面的文章,又集中于Swing方面,许多时候觉得没有什么东西可写。一些朋友提出想了解某些方面的知识,一方面我的确不是那方面的行家,另一方面许多问题不是简单一两篇文章能说明的。而前不久写的一系列文章都是按照每天解决一个问题为目标的,这样几天下来就把些小问题都写完了。说实话觉得有点黔驴技穷了。
    前两天重新读了Andrew S Tanenbaum的《Operating Systems Design and Implementation》,觉得他的这种理论结合实践,把大问题按照分好几章节文章来逐步解决的思想挺好。
    最近有个朋友想学习了解一下界面设计工具是怎么工作的。界面设计工具
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

java

swing

programming

分类: Swing
    一周没写博客了,一直在忙其他的事。最近对Swing辞典做了些修改,最大的变动是添加了对组件动态内容的检测支持。
    主要原理通过向组件注册事件处理器获知组件文字的更新事件,重新提取组件文字。做法是在dyno.swing.beans包下添加了个xml配置文件,插件启动时读取此文件,获取不同组件需要注册事件处理器信息:                                                                                                              
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有