jframe中移除组件

keleilei 2011-04-24 10:22:22
在一个jframe中,有一个菜单栏,单击一个菜单项后在这个jframe中添加一个组件,再单击其他菜单项后先移除这个组件,再在这个位置上添加另一个组件。用remove(int i)这个方法没成功。
...全文
1161 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
keleilei 2011-04-25
  • 打赏
  • 举报
回复
谢谢楼上的
sunyiz 2011-04-25
  • 打赏
  • 举报
回复 1
你要移走组件
最好给这些可能需要remove的组件增加一个全局引用
add的时候不要
add(new JPanel());
这样来加

你可以在你的容器类中这样定义:

public class myPanel extends JPanel {
JPanel pnl1 = new JPanel();
...
...

/**
* 增加控件的方法
*/
public void addPanel() {
add(pnl1);
updateUI();
}

/**
* 移除控件的方法
*/
public void removePanel() {
remove(pnl1);
updateUI();
}

}
keleilei 2011-04-25
  • 打赏
  • 举报
回复
这些我知道,就是有很多菜单项,你不知道前面是单击了哪个菜单项,加了哪个组件,所以在添加另一个组件的时候,用remove(组件名)的话,不知道要移除哪个组件。有没有一种方法可以知道组件的位置,直接移除那个位子的组件?remove(int i)好像不行,不知道是不是我的方法不对。
jinannan888 2011-04-24
  • 打赏
  • 举报
回复
这样弄

容器名.remove("组件名");
容器名.repaint();// 或者是 容器名.updateUI();
jinannan888 2011-04-24
  • 打赏
  • 举报
回复
repaint();了吗

62,615

社区成员

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

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