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);
         ............//效果图见下!
复制代码









本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/3997486.html,如需转载请自行联系原作者
目录
相关文章
|
15天前
|
人工智能 小程序 Java
JAVA开发智慧学校系统源码+人脸电子班牌布局
智慧校园是通过利用物联网,大数据技术来改变师生和校园资源相互交互的方式,以便提高交互的明确性、灵活性和响应速度,从而实现智慧化服务和管理的校园模式。
|
1月前
|
Java 容器
Java常用组件、容器与布局
Java常用组件、容器与布局
16 0
|
8月前
|
XML Java 数据格式
HarmonyOS学习路之开发篇—Java UI框架(自定义组件与布局 二)
自定义布局 当Java UI框架提供的布局无法满足需求时,可以创建自定义布局,根据需求自定义布局规则
|
8月前
|
XML 前端开发 Java
HarmonyOS学习路之开发篇—Java UI框架(自定义组件与布局 一)
HarmonyOS提供了一套复杂且强大的Java UI框架,其中Component提供内容显示,是界面中所有组件的基类。ComponentContainer作为容器容纳Component或ComponentContainer对象,并对它们进行布局。
|
8月前
|
XML Java Android开发
HarmonyOS学习路之开发篇—Java UI框架(六大布局开发)
Android的布局开发中存在五大布局,在鸿蒙布局开发中也存在与之相似的五种布局类型,唯一多余的一个类型叫做自适应盒子布局,布局可以在不同设备上有不同的展示方式。 熟悉Android开发的小伙伴可以参照Android的布局开发来学习。
HarmonyOS学习路之开发篇—Java UI框架(六大布局开发)
|
8月前
|
XML Java 数据格式
HarmonyOS学习路之开发篇—— Java UI框架(组件与布局说明)
UI即使用在屏幕上显示的用户界面,该界面用来显示所有可能被用户查看和操作的内容。
|
9月前
|
存储 缓存 Java
创造与布局:剖析 Java 对象创建过程以及内存布局
创造与布局:剖析 Java 对象创建过程以及内存布局
176 0
|
10月前
|
Java API 数据安全/隐私保护
翻阅必备,一看必知——Java -GUI界面设计(容器,布局,监听,事件 API大全
翻阅必备,一看必知——Java -GUI界面设计(容器,布局,监听,事件 API大全
164 0
Java在半透明框架/面板/组件上重新绘画
Java在半透明框架/面板/组件上重新绘画
106 0
|
存储 NoSQL Java
面试必问:说一下 Java 虚拟机的内存布局?
面试必问:说一下 Java 虚拟机的内存布局?
105 0