偶写了,只能说这是可行的,不打算公开。好像.net的webform也有这种功能?

解决方案 »

  1.   

    我记得DataGrid有可以把object写入的web控件的功能,比如说:
    WebControl.Attributes["ID"]=Request.Params["ID"];
    应该说可以传object进去的。
      

  2.   

    汗,我还没搞清楚是应用程序的gui还是Web程序的gui。
      

  3.   

    不好意思,我纠正一点,我说的gui指的主要是swing、swt的那种界面,而不是web界面
      

  4.   

    楼主您的把object的数据与一个gui绑定 
    具体是什么意思啊?能明示吗?不懂ye
      

  5.   

    如果我理解没错的话,你所说的Object是不是对应Swing MVC框架中的M。Swing的模型是由接口定义的。
    比如JSlider组件的M实现BoundedRangeModel,这个模型跟踪最小值,最大值和当前值,我想这个就是你想setText(xxx)的那个xxx吧。
    每一个Swing组件都有自己特定的模型,看你要作什么样的gui,也可以作自己的模型,只要实现用得上的接口就可以。
      

  6.   

    目前的框架都是往控件里面填值,就是setText(string),如struts。
    这种做法的弊端是当gui改变时,要修改gui的代码。烦琐。楼主难道想用这种框架?那和我那个没关系。
      

  7.   

    啊,刚才理解错了,楼主是不是这个意思:假设一个界面,上面有三个下拉列表框,两个JLabel,两个JTextField,然后有一个Object,分别存储这7个组件的值,并且可以调用一个函数,set这7个组件的状态,或者get。
    肯定要手写。执行效率高一点。如果自动化的话,速度会受影响,而且好像还没人去找自动化的方法。
      

  8.   

    我那种是把对象属性和gui控件的"类型"绑定,而不仅仅是传统的值绑定。这样框架可以根据"类型"生成gui,而不是写死在gui程序的代码中,如b/s模式的jsp,application的JFrame扩展类。每次当界面改变时,就要去修改jsp或者JFrame扩展类,这是很烦的。
    比如struts的jsp想要把一个input type=text改成select,肯定要去手工修改了。而绑定后只要指出控件在哪个位置就可以,因为gui代码是根据控件"类型"来产生的。当要改变gui时,改变配置文件中控件的"类型"就可以了。不用改jsp/JFrame,就是说这是配置式的界面框架。如果想要改变控件位置的时候,可以设置控件的顺序,比如你想把第3个控件和第4个控件替换一下,就改变配置文件中这两个控件的顺序,用生成器重新生成jsp代码就可以了。
    如果想自己排列(需要特殊格式的表单),就手工修改jsp中各控件的位置,但也仅仅是排控件位置而已。总体来说,比普通的框架省事多了。