六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 84|回复: 0

借鉴CSS选择器的思路写了一个SwingSelector

[复制链接]

升级  40%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
20
 楼主| 发表于 2013-1-29 07:28:20 | 显示全部楼层 |阅读模式
有时候一个Swing画面,是由多个嵌套的面板构成的,但是它们里面的各种栏位的关系却是紧密的。这时候希望将各种处理代码写在最顶层的画面中,但是又无法访问子面板中各栏位的引用,必须又要为子面板添加类似get,set之类的访问函数,有些麻烦。

有了SwingSelector可以这样:
new SwingSelector(panel, "JTextField").bindEvent("action", new ActionListener() {            public void actionPerformed(ActionEvent e) {                System.err.println(((JTextField)e.getSource()).getText());            }        })new SwingSelector(panel, "#sitem,#sitem2")                .setAttrValue("model",ComboBoxModel.class,                     new DefaultComboBoxModel(new String[]{"eiruio","erew","testHH","","ewrewrer"}))                .setAttrValue("selectedItem",Object.class, "testHH");
选择器的格式都是借鉴CSS的,比如上面的"JTextField"就表示选择这个panel下的所有JTextField组件,
如果字符串前面加上#,就表示会调用组件的getName()函数来作为选择的依据。

具体请看源文件。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表