还是以上一篇界面为例,当我们把“选择图像”、“小波分解”、“小波重构”按步骤 *** 作完后,界面如下图:
此时,我们要点击进行重置的话,有三个方面:1.把“选择图像”、“小波分解”、“小波重构”三个按钮的开启与否的状态恢复到原来;2.把三个坐标轴中的图像清空;3.把“级数”和“全局阈值”和“压缩信息”对应的三个可编辑框中的数值恢复为默认值。
话不多说,直接把“重置”按钮的回调函数放上来:
我已经用红框把三部分给圈了出来。第一部分很好理解,我在注释中已经标注了。第二部分就是把三个坐标轴清空,用到的是 “cla reset”这个语句。此时要注意的是,坐标轴重置后会出现横纵坐标轴,如下图所示。而我们这里坐标轴是用来放图像的,所以还要添加set(handles.edit,'Xtick',[],'Ytick',[])把横纵隐键坐标轴去掉。
第三部分就是把“级数”和“全局阈值”和“压缩信息”对应的三个可编辑伍纤框中的数值恢复为默认值。默认把小波分解的级数设为2,把小波重构的全局阈值设为10。
如果要做到严谨的话,对GUI进行重置还需要把程序中用到的变量都重新赋为初值。在这里我就不啰嗦了,因为这个例子不需要,反正把流程重新走一遍,程序中的变量都会被重新赋值的。
最后说说退出GUI界面,很简单,一句“close all”就搞定了。
用JFrame写的java小应用是直接带有窗口的,在main()中加上setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)。如果想写颤者则茄棚点击事件来实现关闭窗嫌差口,试试 System.exit(0)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)