【错误记录】Java AWT 图形界面编程问题 ( 组件按照布局要求设置后无法显示等各种问题 )_解决java面板组件延迟更新显示(1)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

二、在对话框中设置了组件不显示的问题


先显示 Dialog 对话框 , 然后根据操作需求生成指定数量的组件 , 显示在对话框中 ;

动态添加组件后 , 发现添加的组件都无法显示 ;

最后发现需要在添加后 , 调用一次 Frame#setVisibility(true) 方法 , 设置以下窗口的可见性 , 最终才能将动态添加的组件更新上去 ;

只要组件发生了改动 , 就调用一次 Frame#setVisibility(true) 方法 , 多调用几次反正又不报错 ;

组件在设置前窗口已经显示 , 那么在设置了新组件之后 , 建议再次调用 Frame#setVisibility(true) 再次显示一次窗口 ;

三、Frame 窗口设置组件位置失效


在 Frame 窗口 中设置组件 的位置和大小 , 发现设置无效 ;

最终发现 Frame 窗口的默认布局是 BorderLayout , 默认添加组件是添加在中心的 , 默认填充整个 CENTER 区域 ;

如果想要在窗口中精确控制某个组件或容器的显示位置和大小 , 那么就要取消 Frame 窗口的默认布局 , 调用

Frame#setLayout(null)

取消布局 , 所有的组件和容器的显示位置和显示大小 , 全部都手动控制 , 这样可以随心所意设置界面的布局样式 ;

四、线性布局组件显示大小设置


在 Box 或者使用 BoxLayout 的 Panel 容器中 , 向其中添加的组件默认填充整个布局 , 这里需要设置大小来限制布局 ;

使用 Component#setSize 设置的大小是无效的 ;

必须使用 Component#setMaximumSize 设置最大大小来显示组件 ;

五、容器的多重嵌套问题


Container A 容器中 嵌套 Container B , Container B 中嵌套 组件 C ;

那么 设置 组件时 , 创建完 容器 B , 不要马上添加到 容器 A 中 , 一定要按照 嵌套顺序 进行操作 , 建议的操作顺序如下 :

创建容器 A -> 创建容器 B -> 创建组件 C -> 组件 C 添加到容器 B -> 容器 B 添加到容器 A -> 设置 Frame#setVisibility(true) 显示窗口

这样操作是最不容易出问题的 , 出现过一次显示部分布局的情况 , 按照上述问题进行操作 ,

六、对话框多次打开问题


在界面开发时 , 经常遇到点击按钮弹出对话框的问题 ;

多次点击会弹出很多对话框 , 这里建议将 Dialog 设置为成员属性 , 在创建 Dialog 对话框前 先判断该 Dialog 变量是否不为空 , 如果不为空 则先调用 Dialog#dispose 先关闭一下对话框 ;



![img](https://img-blog.csdnimg.cn/img_convert/5dc7836fbc65f1785fbbfd2ab5a790d5.png)
![img](https://img-blog.csdnimg.cn/img_convert/ffecbd8cc4a290a5770dfa6f4a854938.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

s://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值