Flex 3: 构建高级用户界面 使用数据提供程序6

本文介绍了一个使用ArrayCollection的数据网格示例,展示了如何通过事件监听来记录集合中项目的添加、删除、替换和更新等操作,并提供了相应的ActionScript代码实现。

public function collectionEventHandler(event:CollectionEvent):void
{
switch(event.kind)
{

case CollectionEventKind.ADD:
addLog("Item "+ event.location + " added");
break;
case CollectionEventKind.REMOVE:

addLog("Item "+ event.location + " removed");
break;
case CollectionEventKind.REPLACE:

addLog("Item "+ event.location + " Replaced");
break;
case CollectionEventKind.UPDATE:

addLog("Item updated");
break;
}
}
// Helper function for adding information to the log.
public function addLog(str:String):void
{

log.text += str + "\n";
}
// Add a person to the ArrayCollection.
public function addPerson():void
{

ac.addItem({first:firstInput.text, last:lastInput.text,
email:emailInput.text});
clearInputs();
}
// Remove a person from the ArrayCollection.

public function removePerson():void
{
// Make sure an item is selected.
if (dg.selectedIndex >= 0)
{

ac.removeItemAt(dg.selectedIndex);
}
}
// Update an existing person in the ArrayCollection.
public function updatePerson():void
{

// Make sure an item is selected.
if (dg.selectedItem !== null)
{
ac.setItemAt({first:firstInput.text, last:lastInput.text,
email:emailInput.text}, dg.selectedIndex);
}

}
// The change event listener for the DataGrid.
// Clears the text input controls and updates them with the contents
// of the selected item.
public function dgChangeHandler():void
{

clearInputs();
firstInput.text = dg.selectedItem.first;
lastInput.text = dg.selectedItem.last;
emailInput.text = dg.selectedItem.email;
}
// Clear the text from the input controls.

public function clearInputs():void
{
firstInput.text = "";
lastInput.text = "";
emailInput.text = "";
}

]]>

<!-- The ArrayCollection used by the DataGrid and ComboBox. -->
<arraycollection id="ac"><p> collectionChange="collectionEventHandler(event)"&gt; <br><source><br><object first="Matt" last="Matthews" email="&lt;a href=" mailto:matt>matt@myco.com"/&gt;</object></source></p> <p> <object first="Sue" last="Sanderson" email="&lt;a href=" mailto:sue>sue@myco.com"/&gt; <br><object first="Harry" last="Harrison" email="&lt;a href=" mailto:harry>harry@myco.com"/&gt;</object></object></p> <p> <br></p></arraycollection>

<panel title="Master-Detail View" width="100%"><br><datagrid width="100%" id="dg" dataprovider="{ac}"><p> change="dgChangeHandler()"&gt; <br><columns><br><datagridcolumn datafield="first" headertext="First Name"></datagridcolumn></columns></p> <p> <datagridcolumn datafield="last" headertext="Last Name"></datagridcolumn><br><datagridcolumn datafield="email" headertext="Email"></datagridcolumn><br></p> <p> </p></datagrid><br><!-- Form for data to add or change in the ArrayCollection. --><br><form label="test" width="100%"></form></panel>

<formitem label="First Name" width="100%"><br><textinput id="firstInput" width="100%"></textinput></formitem>


<formitem label="Last Name" width="100%"><br><textinput id="lastInput" width="100%"></textinput></formitem>


<formitem label="Email" width="100%"><br><textinput id="emailInput" width="100%"></textinput></formitem>



<controlbar horizontalalign="center"><br><!-- Buttons to initiate operations on the collection. --></controlbar>



<!-- Clear the text input fields. -->


<!-- The application displays event information here -->
<panel title="Change log" width="100%" height="125"><br><textarea id="log" width="100%" height="100%"></textarea></panel>

内容概要:本文围绕六自由度机械臂的人工神经网络(ANN)设计展开,重点研究了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程,并通过Matlab代码实现相关算法。文章结合理论推导与仿真实践,利用人工神经网络对复杂的非线性关系进行建模与逼近,提升机械臂运动控制的精度与效率。同时涵盖了路径规划中的RRT算法与B样条优化方法,形成从运动学到动力学再到轨迹优化的完整技术链条。; 适合人群:具备一定机器人学、自动控制理论基础,熟悉Matlab编程,从事智能控制、机器人控制、运动学六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)建模等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握机械臂正/逆运动学的数学建模与ANN求解方法;②理解拉格朗日-欧拉法在动力学建模中的应用;③实现基于神经网络的动力学补偿与高精度轨迹跟踪控制;④结合RRT与B样条完成平滑路径规划与优化。; 阅读建议:建议读者结合Matlab代码动手实践,先从运动学建模入手,逐步深入动力学分析与神经网络训练,注重理论推导与仿真实验的结合,以充分理解机械臂控制系统的设计流程与优化策略。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值