Frame中添加多个panel的问题

zxqwxyql 2009-03-22 04:07:54
想设计一个frame,每点击上面的一个菜单项就会出现相应的panel,如果仅仅是在panel中画图的话可以实现。但是我现在添加一个菜单项,点击它时出现一个带组件的panel,比如里面有TextField,Button等,当我点击button时相应相应的动作。
现在的问题是:我用不同参数的panel构造函数来区分不同菜单项对应的panel,但是带组件的那个panel构造函数中,总不能正确添加所有组件,因为panel对象才能调用add,还有对应的button点击事件相应,因此很大一段代码添加进了frame中,很冗长。该如何解决?或是可不可以构造多个frame,添加到一个界面中?
...全文
1031 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxqwxyql 2009-03-23
  • 打赏
  • 举报
回复
这个方法我试过,在button的事件处理中直接在主frame frame1中添加带有组件的frame2,然后设置主frame1为setVisual(FALSE),但是在显示完frame2后设置frame1为可见却不出现了。
zhaoqiang415362381 2009-03-23
  • 打赏
  • 举报
回复
可以用setVISUAL(TRUE/FALSE)实现
zxqwxyql 2009-03-23
  • 打赏
  • 举报
回复
你是说把那个带组件的panel写到另外一个文件,然后在aaa.java中import?
那在bbb.java中的panel里面可以有事件响应吗?actionPerformed
liutaoaisi 2009-03-22
  • 打赏
  • 举报
回复
我觉得楼主的意思大概是这样的!就是说在frame中要尽少的写代码,我觉得可以这样!
代码:
aaa.java:
class aaa extends JFrame{
public aaa(){
bbb panel1=new bbb();
ccc panel2=new ccc();
this.add(panel1);
this.add(panel2);
}
aaa frame=new aaa();
}
bbb.java:
class bbb extends JPanel{

}这样可能稍微好看一点!
liutaoaisi 2009-03-22
  • 打赏
  • 举报
回复
我觉得楼主的意思大概是这样的!就是说在frame中要尽少的写代码,我觉得可以这样!
代码:
aaa.java:
class aaa extends JFrame{
public aaa(){
bbb panel1=new bbb();
ccc panel2=new ccc();
this.add(panel1);
this.add(panel2);
}
aaa frame=new aaa();
}
bbb.java:
class bbb extends JPanel{

}这样可能稍微好看一点!
一洽客服系统 2009-03-22
  • 打赏
  • 举报
回复
panel.setLayout(new CardLayout()\\c);
panel.add(panel1.....panel10);
c.show(...
查看cardlayout

62,614

社区成员

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

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