请问,下图中 红框框选的部分,变量 button的作用范围是 for 的{} 范围,当程序运行到for{} 下面的代码 时 button 变量 作为一个局部变量就失效了,而它所对应的 JBUTTON对象 是继续存在 还是 也失效了呢,毕竟指向它的变量 button 变量已经失效了?
4条回答 默认 最新
- ArdenL_Liu 2023-02-21 14:40关注
代码你也没贴全,我只能推测一下(恰好我做过几年swing和applet的开发经验),希望能够帮你一点:
这个代码实例, 从内容看,应该是启动一个类似电话按键面板面板的Java Swing Applet。
代码推测:
1、首先肯定实例化了布局管理器,和默认的Jpanel,组件容器JContainer等。
2、for循环中, 只是把1~9这几个按键添加到jp(JPanel)中,上面已经设置布局管理面板为可见,下面又添加了几个特殊按键【*,#,0】。
3、Applet只要启动(默认没有main方法),就会处于事件等待状态(就像qq,微信一样,除非你关掉它); applet或swing作为主程序启动, 就会处于等待状态,如果你在这几个button上定义触发事件(onClick等事件),注册事件监听器ActionEventListener等(记不清了),被触发后,就会执行相关的事件。
当然,在这个Applet启动后会处于等待状态,布局管理器中的所有的按钮也不会消失(已经添加到jp中),你所谓的button只是一个指针变量而已,真正的对象是button“i”。
4、在Swing/AWT 中,只要Applet或window启动, 所有组件都会处于就绪等待状态,不会被GC掉,除非通过逻辑清除该组件, 或者关闭该应用。解决 1无用
悬赏问题
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计