Flex java blazeds 开中 遇到的问题大全

preview
需积分: 0 2 下载量 28 浏览量 更新于2011-05-08 收藏 87KB DOC 举报
在开发Flex和Java应用,尤其是使用BlazeDS作为中间件时,开发者可能会遇到各种问题。以下是一些常见的问题以及解决方案: 1. **保持按钮按下状态**:在Flex中,你可以通过设置`<mx:Button>`组件的`toggle`属性为`true`来使按钮在按下和未按下状态之间切换。同时,`selected`属性用于获取或设置按钮的当前状态。如果`toggle`为`false`,按钮在释放后会自动恢复到未按下状态。 2. **模拟Sleep函数**:Flex中没有内置的Sleep函数,但可以使用`flash.utils.setTimeout`来延迟执行函数,例如,如果你想2秒后执行一个函数,可以这样写:`setTimeout(launchAlert, 2000)`。 3. **动态指定DataGrid的itemRenderer**:DataGrid的列可以通过`DataGridColumn`的`itemRenderer`属性动态指定。例如,你可以创建一个新的`ClassFactory`实例,如`new ClassFactory(view.ListCell)`,将其赋值给`itemRenderer`。 4. **动态指定DataGrid的排序函数**:可以创建一个自定义的排序函数,然后将其赋值给`DataGridColumn`的`sortCompareFunction`属性。例如,`sortFunc("column")`返回一个比较函数,用于按指定字段对数据进行排序。 5. **在DataGrid列中显示图片**:利用`itemRenderer`功能,可以创建一个自定义的渲染器类(如`ImageCellRenderer`),在其中根据数据动态加载和显示图片。在MXML中,将渲染器类绑定到DataGridColumn或直接在DataGrid的列配置中指定。 6. **获取DataGrid的总数据行**:Flex的`mx:DataGrid`的`rowCount`属性只表示可视行数,并非总行数。若想获取总数据行数,通常需要从数据提供者(如ArrayCollection)中获取。例如,你可以直接访问`_acData.length`来获取ArrayCollection中的元素数量,这代表了DataGrid的总数据行数。 7. **处理DataGrid数据加载问题**:当在`ImageCellRenderer`的`creationComplete`事件中动态加载图片时,可能会遇到顺序错误。解决办法是在数据绑定到渲染器之后,而不是在初始化时加载图片,这可以通过覆盖`set data()`方法并在其中处理图片加载来实现。 在Flex与Java BlazDS集成的过程中,了解并掌握这些常见问题的解决方案可以帮助开发者更高效地构建和调试应用程序。BlazeDS作为数据传输服务,提供了AMF(Action Message Format)协议,使得Flex前端和Java后端之间的数据交互更为便捷。然而,理解和解决这些问题对于优化用户体验和提高应用程序性能至关重要。