我有这个代码的问题,它不编译。你可以帮帮我吗 ? 我点击按钮
时需要关闭JFramepublic class SlotMachine extends JFrame
{
/*
*
*/
JButton btnExit = new JButton("Exit");
btnExit.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent arg0)
{
this.dispose();
}
});
}
错误是= 新的MouseAdapter(){}
类型的方法dispose()未定义我不知道如何从mouseClicked方法获取SlotMachine对象
答案 0 :(得分:1)
您在此处调用this.dispose();
密钥,因为this
指的是内部类,MouseListener和MouseListener没有dispose()
方法。
解决方案:摆脱this
,它应该可以工作,因为如果内部类不包含该方法,编译器将查看外部类。或者你可以指定 这是你的意思:SlotMachine.this.dispose();
将告诉编译器调用外部SlotMachine类的方法。
在JButton上使用ActionListener有以下几个原因:
setEnabled(false)
禁用该按钮,则按下该按钮不应导致触发该操作。这不适用于MouseListener,但适用于ActionListener。