在线求解

未来的程序员? 2019-11-03 04:18:31
为什么这个Java程序后面的内容把前面的内容覆盖了?第一张是完整的程序,第二张是备注了p2相关内容,第三张是图二的输出结果,第四张是只注释了p3的输出结果。
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好的,谢谢你
qybao 2019-11-03
  • 打赏
  • 举报
回复
引用 3 楼 未来的程序员? 的回复:
[quote=引用 2 楼 qybao的回复:]画面需要布局管理,LZ可以脑补一下这方面的知识,参考api XXXLayout
或者把layout设成null,自己定位

在add(p1)之前加入一下代码
this.getContentPane().setLayout(null);
p1.setBounds(0, 0, 100, 100); //自己参考api,例子的意思是左上角坐标为(0,0),长100,宽100

我试了一下,还是不可以[/quote]
怎么个不可以?
你panel里的控件也要设置布局的,建议你先好好学一下布局管理这方面的知识吧
你想马上看到效果,那么就用BorderLayout吧,然后你再自己去体会各种布局的效果
在add(p1)之前加入以下代码
this.getContentPane().setLayout(new BorderLayout());
然后
把add(p1)改成add(p1, BorderLayout.NORTH);
把add(p2)改成add(p2, BorderLayout.CENTER);
把add(p3)改成add(p3, BorderLayout.SOUTH);
这样的效果会按上中下排列你的panel




  • 打赏
  • 举报
回复
引用 2 楼 qybao的回复:
画面需要布局管理,LZ可以脑补一下这方面的知识,参考api XXXLayout
或者把layout设成null,自己定位

在add(p1)之前加入一下代码
this.getContentPane().setLayout(null);
p1.setBounds(0, 0, 100, 100); //自己参考api,例子的意思是左上角坐标为(0,0),长100,宽100
我试了一下,还是不可以
qybao 2019-11-03
  • 打赏
  • 举报
回复
画面需要布局管理,LZ可以脑补一下这方面的知识,参考api XXXLayout
或者把layout设成null,自己定位

在add(p1)之前加入一下代码
this.getContentPane().setLayout(null);
p1.setBounds(0, 0, 100, 100); //自己参考api,例子的意思是左上角坐标为(0,0),长100,宽100

  • 打赏
  • 举报
回复
意思是p2把p1的位置覆盖了是么,可能你没设置每个的位置吧,所以默认都是最上面,

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧