发明名称 基于Java的嵌入式频谱分析仪显示界面的实现方法
摘要 本发明公开了一种基于Java的嵌入式频谱分析仪显示界面的实现方法,主要包括主辅两个线程,主线程完成频标创建与相关功能,其采用Java中repaint()方法自动刷新paintCompoent();paintCompoent()包含3个自定义函数:DrawAxe()绘制10×10的矩形网格坐标轴;Drawcurve()调用辅助线程所接收的频谱数据,在网格坐标轴中绘制频谱曲线;Drawruler()完成频标相关功能的实现,在辅助线程中,主要利用TCP/IP协议完成从网络中接收频谱数据。该方法弥补了现有技术的空白,不仅能够在嵌入式环境中绘制出频谱分析仪的显示界面,而且提供了频谱数据的频标显示功能。
申请公布号 CN102156639A 申请公布日期 2011.08.17
申请号 CN201010620822.1 申请日期 2010.12.24
申请人 北京航天测控技术开发公司 发明人 何逸伦;史浩
分类号 G06F9/44(2006.01)I;G01R23/16(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 杨志兵;高燕燕
主权项 一种基于Java的嵌入式频谱分析仪显示界面的实现方法,其特征在于,该方法包括:建立主线程和辅助线程,主线程完成绘制频谱、频标操作、响应用户操作功能,辅助线程循环利用TCP/IP协议完成从网络中接收频谱数据,将接收的频谱数据以一个浮点型数组循环保存;主线程和辅助线程独立运行;(1)主线程通过Java中Component类提供的repaint()方法不断自动刷新paintCompoent();paintCompoent()包含3个自定义函数,分别是DrawAxe()、Drawruler()、Drawcurve();DrawAxe()采用DrawLine()函数绘制矩形网格坐标轴,X轴为频率,Y轴为幅度;Drawcurve()调用辅助线程所接收的频谱数据,与用户设定的频谱分析仪参数结合后,在矩形网格坐标轴中绘制频谱曲线;Drawruler()完成频标相关功能的实现,具体包括:①频标图标的创建:将预先绘制好的特定图案作为频标图标,用DrawImage()函数添加到主线程中;②频标显示与关闭功能的实现:采用右键菜单的形式完成频标的显示与关闭,利用Java所支持的PopupMenu对象,创建多个MenuItem的多个实例,依次将这些实例加入PopupMenu中,释放鼠标右键时在鼠标监听器中对状态标志位DrawRuler1进行设置,Drawruler()在每次刷新时通过判断标志位DrawRuler1的状态来决定频标是否显示;初始显示时,将触发右键菜单的X轴位置当做频标图标的显示位置;③频标动态显示:频标坐标(xp,yp)的xp固定,yp随频谱曲线幅度动态变化;④频标拖动功能的实现:a、鼠标点击频标时触发鼠标press事件,在press事件中判断是否选中该频标;b、确定选中频标后,状态标志位moveMark开启并触发鼠标拖动事件,循环以下操作:记录鼠标位置(x,y),判断频标位置是否越界并进行越界处理,利用DrawImage()不断将频标图标显示到频谱的位置(x,y)上;c、鼠标释放频标时触发鼠标release事件,在release事件中将moveMark关闭,不再在循环记录(x,y)的值,只将释放瞬时的(x,y)值当做频标图标的显示位置。
地址 100041 北京市石景山区实兴东街3号