多次点击swing Java按钮
面板上有5个按钮,分别是“添加”、“编辑”、“删除”、“确定”、“取消”。现在如果我直接点击取消按钮,表单就会终止。我已经从click事件调用了dispose()
方法
然而,我想做的是:如果我先单击add按钮,然后单击cancel按钮,程序应该返回到初始状态,尽管由于dispose()
而终止
我该怎么做
以下是我的添加按钮操作事件代码:
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();
}
}
}
# 1 楼答案
您正试图通过选中
ActionEvent.getSource()
来处理与add
按钮位于同一if
分支中的cancel
按钮,但此代码永远不会执行,因为源不能同时是addButton
和cancelButton
相反,您需要将
disabledByDefault()
调用移动到处理cancelButton
的部分,并通过添加新变量(您在按下add
按钮时设置)或简单地检查add
按钮的状态来区分之前是否按下过add
: