java中如果适用了布局管理器,还能再设置按钮等组件的大小和位置了吗?
2个回答
展开全部
有布局管理器的情况下,设置组件位置大小是不起作用的。可以用如下代码设置布局管理器为空。
把JFrame设置个BorderLayout,把JPanel放在North里,JPanel就会自动调整大小了。至于JPanel里的布局,不知你出于什么特殊理由,单纯需要重叠的话应该有合适的布局管理器。
另外还有个思路,改变一下你的设计方法,可能就有更简单的方案。实际上很多设计中的需求以前就有很多人遇到了并且作出了好的方案,甚至已经是标准做法,所以多学习参考一下。
网格包布局管理器允许容器中各个组件的大小各不相同,还允许组件跨越多个网格,也允许组件之间相互部分重叠。
网格包布局理解为网格单元布局更合理,因为一个容器被划分为若干个网格单元,而每个组件放置在一个或多个网格单元中。
要注意的是,网格包布局不能指定一个容器的网格单元的大小其网格单元的划分是通过weightx和weighty参数来设置的,但也不是直接指定其网格单元的大小。
当把一个组件放置在网格单元中时,组件所占据的位置和大小是由一组与他们相关联的约束来决定的
展开全部
您好,有布局管理器的情况下,设置组件位置大小是不起作用的。
可以用如下代码设置布局管理器为空。
setLayout(null);
但是还是建议找本教程学习一下常用的布局管理器。
把JFrame设置个BorderLayout,把JPanel放在North里,JPanel就会自动调整大小了。
至于JPanel里的布局,不知你出于什么特殊理由,单纯需要重叠的话应该有合适的布局管理器。另外还有个思路,改变一下你的设计方法,可能就有更简单的方案。实际上很多设计中的需求以前就有很多人遇到了并且作出了好的方案,甚至已经是标准做法,所以多学习参考一下。
可以用如下代码设置布局管理器为空。
setLayout(null);
但是还是建议找本教程学习一下常用的布局管理器。
把JFrame设置个BorderLayout,把JPanel放在North里,JPanel就会自动调整大小了。
至于JPanel里的布局,不知你出于什么特殊理由,单纯需要重叠的话应该有合适的布局管理器。另外还有个思路,改变一下你的设计方法,可能就有更简单的方案。实际上很多设计中的需求以前就有很多人遇到了并且作出了好的方案,甚至已经是标准做法,所以多学习参考一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询