版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/renwuqiangg/article/details/51280639
比如容器为JPanel,默认布局为FlowLayout,这时候加入两个JLabel,各个个JLabel之间会有距离
如图
绿色的是JPanel,白色的是JLabel,之间会有几个像素的缝隙。
那么如何去掉这个缝隙呢,之前看网上有人说这样解决:
JPanel.setBorder(new EmptyBorder(-5, 0, -5, 0));
还有点效果:
可以看到,垂直方向的间距去掉了,但是水平方向的间距还在。
之前一直在想,这事到底归哪个类管呢?我把JLabel和JPanel的方法看了好几遍也没有找到相关方法。
原来,这事是归FlowLayout管(JPanel默认布局是FlowLayout),设置如下:
FlowLayout f=(FlowLayout)getLayout();
f.setHgap(0);//水平间距
f.setVgap(0);//组件垂直间距
这样间距就设置为0了,也不用setBorder了。