如何得到触发事件的组件(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 的区别?? c#中有类似java中calendar的类吗 如何使用 XMMP 协议与 openfire交互 怎样比较C:if重的两个数(在线等) 一道Java题,不明白其选项 JAVA正则表达式原创教程 请问,网页编程没学好,学JAVA WEB 的时候会不会受到影响啊?能补救吗? 请教高手,JAVA连接数据库有关的问题 很菜的问题,可我就是不会 求高手点拨一个“Java Swing制作的好友列表”中可能存在的问题。 你砍版主我没意见,但你不要随便删我的帖子阿! 请问:如何改变自己计算机的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 的区别??