1. 程式人生 > >javaSwing 設定每個元件之間的間距

javaSwing 設定每個元件之間的間距

比如容器為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了。