我在網上尋找Java流動佈局換行的方法,看了好久,也沒有找到滿意的答案。
FlowLayout是流式佈局,所以如果需要讓換行有意義,就得鎖定視窗的大小,否則隨著視窗的伸縮,佈局將被徹底打亂。
網上的方法((6條訊息) java 流式FlowLayout佈局換行方法_大河的部落格-CSDN部落格_java流式佈局怎麼換行):
版權宣告:本文為CSDN博主「寧悅」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/deramer1/article/details/73135595
對於有一定控制元件數量的佈局來說,這樣去手動調整空格的多少顯然有點麻煩,於是我在第一種方法上進行了改進。
只需要在繼承JPanel的類上寫下這個就能在FlowLayout佈局上實現相對精細的調整。(傳入的引數代表空格的多與少)
1 // 換行
2 private void LineFeed(int num) {
3
4 String emptyString = "";
5
6 for(int i=0; i<num; i++) emptyString += " ";
7
8 this.add(new JLabel(emptyString));
9 }
呼叫方法,在任意的方法體內呼叫空格數量,之後再新增控制元件即可。
this.LineFeed(30); this.add(passJLabel);
當然,我還是更推薦使用BoxLayout(盒佈局管理器)的佈局方式,實現控制元件位置的調整。
它可以較為便捷地設定水平或垂直座標。具體方法可參考:Java Swing佈局管理器(詳解版) (biancheng.net)。