JFrame里的JPanel切换成第二个JPane

Lakers8888 2007-11-23 03:01:47
创建一个包
在该包中新建一个类,从JFrame继承下来,在该JFrame里边建一个JPanel
另建一个类,从JPanel继承下来
如何将当前JFrame里的JPanel切换成第二个JPane
(表述不是太清楚)
也就是,新建一个JPanel把当前JFrame中的JPanel替换掉
...全文
564 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxjwuxj 2012-02-26
  • 打赏
  • 举报
回复
上面方法存在问题,需要在后面添加 jFrame.repain();语句
lj110119 2008-04-02
  • 打赏
  • 举报
回复
漏了一点,在第一步和第二步之间加上:
1.5,删除原组件:(jFrame.remove(jPanel1);)
lj110119 2008-04-02
  • 打赏
  • 举报
回复
假设JFrame的对象是jFrame,jFrame里面有一个JPanel对象jPanel1:(jFrame.add(jPanel1,"Center");),现在想反jPanel1换成jPanel2.
1,先想办法获取jFrame对象。
2,重新加一遍组件:(jFrame.add(jPanel2,"Center");)
3,再调用一遍setVisible方法。(jFrame.setVisible(true);)
lj110119 2008-04-02
  • 打赏
  • 举报
回复
现在回答晚吗?
rovelife 2007-12-30
  • 打赏
  • 举报
回复
可以用卡片布局不
ferly_ 2007-12-29
  • 打赏
  • 举报
回复
直接把JFRAME的布局管理器设置成卡片布局Cardlayout
然后调用它的first(),last(),next(),show()等方法就能实现JPanel切换了
Adam43046721 2007-12-29
  • 打赏
  • 举报
回复
//一个按钮

private void jButton1_actionPerformed(ActionEvent e) {
getSelectManage();
}


//构造函数(调用的不是一个JFrame,而是一个JPane)
private void getSelectManage(){
if(selectManage==null){
selectManage=new SelectManage();
selectManage.setTable();//同步获得表数据
}else{

}
this.getContentPane().remove(this.panelCenter);
panelCenter = selectManage;
this.getContentPane().add(selectManage,BorderLayout.CENTER);
this.repaint();
this.statusBar.setText("信息查询--档案");
}
好像有点类似中介者的意思,上面的代码就可以,拿去改一下就好了。
dracularking 2007-11-23
  • 打赏
  • 举报
回复
是可以来回切换还是直接替换
add不行吗

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧