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