如何得到触发事件的组件(JButton)的容器(JPanel)的顶层容器(JFrame)? Container content = getContentPane();可得JFrame; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public void actionPerformed(ActionEvent e) {JPanel jp=(JPanel)((JButton)e.getSource()).getParent();//得到JPanelJFrame jf=(JFrame)((JButton)e.getSource()).getParent().getParent().getParent().getParent().getParent();//得到JFrame} JPanel:((Container)actionEvent.getSource()).getParent();顶层的容器: Container c = (Container) actionEvent.getSource(); while (c.getParent() != null) { c = c.getParent(); } 顶层的容器理论上是那么得到的,但也有例外,有时候由于代码的不当会造成c.getParent()==null而c并不是顶级容器,这要看具体情况了。 我也有问题:有一个JFrame 我将JButton放在JFrame 的 contentPane ((JButton)e.getSource()).getParent() 返回的是 JFrame还是contentPane??能不能讲一下contentPane与JFrame 的区别?? .门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系? 监控系统中某项进程的CPU占用率、线程数,用java怎么实现? WEB应用中相对路径的问题 急求聊天工具的代码? 请问在CMD下静止WINDOWS自带的小游戏呀 是怎样实现的 编程书籍讨论 (int j=0;j<a[i].length;j++) 关于String,byte之间的问题 安装apache 及tomcat产生的问题 如何判断目录存不存在? 请问:如何改变自己计算机的IP?通过程序,java语言,请帮忙 请高手指点
JPanel jp=(JPanel)((JButton)e.getSource()).getParent();//得到JPanel
JFrame jf=(JFrame)((JButton)e.getSource()).getParent().getParent().getParent().getParent().getParent();//得到JFrame
}
顶层的容器:
Container c = (Container) actionEvent.getSource();
while (c.getParent() != null) {
c = c.getParent();
}
((JButton)e.getSource()).getParent() 返回的是 JFrame还是contentPane??
能不能讲一下contentPane与JFrame 的区别??