加到按钮上的事件死活不执行

duqingming 2010-08-27 04:34:51
我做一个继承自JPanel的类,在这个类里有加了一个方法,代码如下:
public JButton getEMainBtn() {
if (emailBtn == null) {
// Create an action to add to the Context Menu
final MouseListener action = new MouseListener() {

public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
// 双击
} else if (e.getClickCount() == 1) {
// 单击
}
}

public void mousePressed(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

public void mouseReleased(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

public void mouseEntered(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

public void mouseExited(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
emailBtn = new JButton();
emailBtn.setOpaque(false); // 设置组件透明
emailBtn.setBorder(null);
emailBtn.setIcon(SparkRes.getImageIcon(SparkRes.MAIL_16x16));
emailBtn.addMouseListener(action);
}
return emailBtn;
}
其实也很简单,这个方法就是返回一个按钮,这个方法是在继承自JPanel的那个类的构造函数里执行的。代码如下:

add(getEMainBtn(), new GridBagConstraints(index++, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 0), 0, 0));

现在的问题是这个按钮是显示出来了,但当用户鼠标点击的时候按钮的事件却没有执行。

那位大侠遇到过这个问题的请指教指教。
...全文
124 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
peenyking 2010-08-31
  • 打赏
  • 举报
回复
检测进入创建按钮的方法,在执行之前,emailBtn是否为空,怀疑 if (emailBtn == null) {。。。//里面的都没执行}。

如果你一开始 emailBtn 就已经是一个实例了,他就不会添加事件了。那样肯定不会执行

再者你是否通过断点检测方法是否进入的?
如果不是 你可以试试,通过调试方式启动,然后看看程序有没有被断点 挂起。
super_stan 2010-08-29
  • 打赏
  • 举报
回复
喔喔喔喔!!!!
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhang0114 的回复:]
你的方法里全是空的,你想让它执行什么?
[/Quote]
码之魂 2010-08-29
  • 打赏
  • 举报
回复
哈哈哈!!!~~~~~~
EngineZhang 2010-08-29
  • 打赏
  • 举报
回复
你的方法里全是空的,你想让它执行什么?
jiang521725 2010-08-27
  • 打赏
  • 举报
回复
我会关注你的
huntor 2010-08-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 crazylaa 的回复:]

把 throw new UnsupportedOperationException("Not supported yet."); 都删除。
[/Quote]
应该使用
new MouseAdapter(){
@Override public void mouseClicked(MouseEvent e){
... // process
}
};
crazylaa 2010-08-27
  • 打赏
  • 举报
回复
把 throw new UnsupportedOperationException("Not supported yet."); 都删除。
duqingming 2010-08-27
  • 打赏
  • 举报
回复
拷,沉的也太快了。差点没找找。
顶一个。
安装.NET Framework失败后上网找的卸载工具,亲测卸载后可以完成安装.NET Framework。 一下位介绍: ====================== 分享可以完美卸载.NET Framework 1.0~4.5的framework卸载工具。.NET Framework几乎是系统比不可少的运行组件,特别是现在越来越多的软件都需要.NET Framework运行库的支持。例如本站给大家分享的coreldraw x6安装程序,就必须要.NET Framework 3.5、.NET Fra...... yinshu 分享可以完美卸载.NET Framework 1.0~4.5的framework卸载工具。.NET Framework几乎是系统比不可少的运行组件,特别是现在越来越多的软件都需要.NET Framework运行库的支持。例如本站给大家分享的coreldraw x6安装程序,就必须要.NET Framework 3.5、.NET Framework 4.0运行库的支持才可以安装及运行。 但最近有一台电脑,.NET Framework 4.0死活安装不上(可能是以前不完整安装造成的),想把Framework卸载了重新安装,结果系统自带的卸载工具还卸载不了,甚是头疼,后来找到这款专业的.net framework卸载工具:cleanup_tool才终于把net framework请出电脑,然后再次安装.NET Framework 4.0成功。 NET Framework卸载工具 .NET Framework Cleanup Tool软件简介 .NET Framework Cleanup Tool是一个专用于卸载、清除掉计算机中不同版本.NET框架的免费小软件。支持所有语言的.NET。它能删除与.NET相关的文件,并且还能自动将对应的文件夹、注册表项目和Windows Installer文件全部删除。 使用.NET Framework Cleanup Tool,基本可以将电脑还原到未安装.NET框架时的状态。因此,当你发现.NET不能正常更新,或是无法删除、甚至于重新安装不起作用时,试试这个小软件。 如何卸载framework cleanup_tool支持.NET Framework 1.0~4.5卸载,虽然是英文版的,不过使用简单,只要运行后选择你需要清除的.net framework版本(或者选择卸载全部.NET Framework版本),然后点击“cleanup now”按钮即可开始执行清除作业,过程会持续一到两分钟即可完成framework卸载。 特别注意:net framework框架并不是无用的东西,现在很多程序都需要net framework环境才能运行,所以建议你只有当.NET Framework损坏或者安装不上新版本时才考虑卸载重装。

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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