首页 > 代码库 > java模仿qq好友面板的布局(BoxLayout问题)
java模仿qq好友面板的布局(BoxLayout问题)
.............. 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); ............//效果图见下!
java模仿qq好友面板的布局(BoxLayout问题)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。