..............JLabel ll = new JLabel(dlg.getNameText() + ":" + dlg.getIPText(), ii[index], JLabel.LEFT);tmp = new JPanel();//將標簽添加到這個面板中tmp.setLayout(new FlowLayout(FlowLayout.CENTER));tmp.setBackground(new Color(255, 0, 255));/** BoxLayout布局簡直是蛋疼的要命,一個面板X是BoxLayout布局,如果該面板添加一個面板Y的話* 那么Y就會填充X面板!如果在添加一個面板Z, 那么Y, Z就會一起布滿X面板!但是可以設置Y,Z面板* 的比例! 如果X添加的是一個按鈕或者標簽時,還不能控制其大小.....無語了!* * 下面的我的做法將標簽添加到面板tmp中,然后再將tmp添加中QQP面板中!這樣就可以控制標簽的大小了!* 再添加新的面板的時候,要設置一下之前面板的PreferredSize!保證每一個標簽的距離適中!* 也就是保證所有的添加的面板的高度之和 == QQP.getHeight();* */int cnt = QQP.getComponentCount();//顯示QQ好友的個數!if(cnt >= 1)QQP.getComponent(cnt-1).setPreferredSize(new Dimension(250, 60));//60代表默認的標簽的高度int h = QQP.getHeight() - cnt*60;if(h < 0) h=60;//如果所有的高度之和超高了QQP面板的高度,那么直接就是默認的高度,剩下的顯示就交給垂直滾動條了!tmp.setPreferredSize(new Dimension(250, h));tmp.add(ll);QQP.add(tmp);QQP.add(tmp);............//效果圖見下!
轉載于:https://www.cnblogs.com/hujunzheng/p/3997486.html