如何在扩展的JButton里面,调用所在的Panel里的方法。 写了两个类,一个扩展了JButton,叫btnSelf,另一个扩展了JPanel,叫pnlSelf。现在在btnSelf头添加了一个监听器,监听鼠标事件。想在这个事件里面调用所在的pnlSelf里面写的方法,该如何去写啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 想要实现btnSelf拖进pnlSelf之后,用鼠标点btnSelf之后,可以调用pnlSelf的方法 在pnlSelf里增加btnSelf的对象啊 给你一个简单的方法:btnSel.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {if((pnlSelf.getX() <= btnSe.getX()) && (pnlSelf.getY() <= btnSe.getY()) && (pnlSelf.getX() + pnlSelf.getWidth() >= btnSe.getX() + btnSe.getWidth())&& (pnlSelf.getY() + pnlSelf.getHeight() >= btnSe.getY()+ btnSe.getHeight())){action();}}} 也就是说:在你点击btnSel时,判断btnSel是否在pnlSelf里面,要是在pnlSelf里面,则执行action();否则不执行action(); btnSelf应该是放在pnlSelf里面的吧?怎么会调用不到呢? 你可是试试 getParent()方法,用这个方法来获取一个对象,然后强制转换到你扩展的类型, 主要是不想在pnlSelf里写代码,想写在btnSelf的构造方法里这样一拖进去后就可以直接用,不用在pnlSelf里再修改什么了不过看起来好像是不行。 问一个关于深度复制的问题,高手请进 java 生成exe出现问题 *求* 学习java已有一段时间,可惜没东西试手,大哥大姐们有什么东东,让小弟替你做试试%……—%¥ 高手请看看下面的异常是怎么回事? 初学者java讨论 "0xC0C0BABE" 有什么特殊的含义吗? 我该选择 jbuilder 还是 c++builder 请推荐一本学习JBuilder的书 有人用过xanlan么? 请问:buttonsign定义为一个JButton,那么,buttonsign.addActionListener(this)是什么意思?? 求JAVA实现SOA框架的简单代码 基础不好,帮我翻译个简单的东西
public void actionPerformed(ActionEvent e) {
if((pnlSelf.getX() <= btnSe.getX())
&& (pnlSelf.getY() <= btnSe.getY())
&& (pnlSelf.getX() + pnlSelf.getWidth() >= btnSe.getX() + btnSe.getWidth())
&& (pnlSelf.getY() + pnlSelf.getHeight() >= btnSe.getY()+ btnSe.getHeight())){
action();
}
}
}
要是在pnlSelf里面,则执行action();
否则不执行action();
这样一拖进去后就可以直接用,不用在pnlSelf里再修改什么了
不过看起来好像是不行。