我在面板上有5个按钮,名为“添加”,“编辑”,“删除”,“确定”,“取消”。现在,如果我立即单击取消按钮,表单将终止。我从click事件中调用了dispose()
方法。
但是,我想要做的是:如果我先单击添加按钮然后单击取消按钮,程序应该回到初始状态,尽管因为dispose()
而终止。 / p>
我该怎么做?
这是我的添加按钮操作事件代码:
public class TheButtounHandler implements ActionListener
{
@Override
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource().equals(addButton))
{
enableDisabledByDefault();
editButton.setEnabled(false);
deleteButtoun.setEnabled(false);
addButton.setEnabled(false);
if(ae.getSource().equals(cancelButton))
{
disabledByDefault();
}
}
else if(ae.getSource().equals(cancelButton))
{
dispose();
}
}
}
答案 0 :(得分:1)
您正尝试通过检查cancel
来处理与if
按钮位于同一add
- 分支中的ActionEvent.getSource()
按钮,但此代码将永远不会执行来源不能同时是addButton
和cancelButton
。
相反,您需要将disabledByDefault()
调用移动到处理cancelButton
的部分,并通过添加新变量(通过添加新变量来区分add
之前是否已按下add
按下add
按钮时设置,或者只需检查...
else if(ae.getSource().equals(cancelButton))
{
if (!addButton.isEnabled()) {
disabledByDefault();
} else {
dispose();
}
}
按钮的状态:
{{1}}