免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2891 | 回复: 1
打印 上一主题 下一主题

netbeans中如何进行Panel切换时保证新的Panel和旧的Panel是同一个位置? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-14 23:06 |只看该作者 |倒序浏览
才用netbeans,有些东西不熟。netbeans的GUI拖拽功能很方便。不过生成的代码,就……

我作了一个JPanel切换的程序,在一个JPanel(jPanel0)中又有一个小的JPanel(jPanel1),希望点击jPanel0的按钮可以把jPanel1替换成jPanel2.jPanel2是一个新的JPanel类。现在遇到的问题是,使用remove(jPanel1)后jPanel1倒是消失了,但是jPanel2没有出现(使用add(jPanel2))。

我到网上找了些达人的例程,倒是可以实现,但他们一般都用的是BorderLayout的布局。不知道我的问题是不是因为布局不对头的问题?如果我就是希望新的jPanel2能够不更改当前布局(即还是使用netbeans的默认布局),将jPanel2放在原来jPanel1相同的位置,请问大家我应该怎么做呢?

顺便再问个问题。在JPanel中用updateUI可以更新,如果在JFrame里如何实现JPanel的切换呢?

论坛徽章:
0
2 [报告]
发表于 2008-10-16 10:26 |只看该作者
来自专家Joey的答复:在Netbeans的Free Design下,其实是使用了GroupLayout的布局(参见系统生成的initComponents()代码),所以当你remove掉原来的jPanel1,重新加入jPanel2,简单的一句add(jPanel2)没有办法让jPanel2继承jPanel1在GroupLayout中的布局关系。如果如果你要jPanel2完全代替jPanel1的位置,需要学习系统生成的这段代码,将jPanel2的Layout属性与先前jPanel1的设置完全相同。你看到的其他用特定LayoutManager,比如BorderLayout等等,各个控件的位置相对固定,所以设置相对容易。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP