有时候一个Swing画面,是由多个嵌套的面板构成的,但是它们里面的各种栏位的关系却是紧密的。这时候希望将各种处理代码写在最顶层的画面中,但是又无法访问子面板中各栏位的引用,必须又要为子面板添加类似get,set之类的访问函数,有些麻烦。
有了SwingSelector可以这样:
选择器的格式都是借鉴CSS的,比如上面的"JTextField"就表示选择这个panel下的所有JTextField组件,
如果字符串前面加上#,就表示会调用组件的getName()函数来作为选择的依据。
具体请看源文件。
有了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()函数来作为选择的依据。
具体请看源文件。