2013-11-30 2 views
0

Итак, у меня есть три кнопки: добавьте, отредактируйте и сохраните. Я использую ActionListener и getActionCommand, чтобы определить, какая кнопка была нажата. Если я нажму кнопку add, а затем сохраните, он должен добавить нового человека в мою таблицу. Если я нажму редактирование, а затем сохраните, он должен будет отредактировать этого человека в таблице. Есть ли способ определить, какая кнопка была нажата до сохранения, чтобы я знал, как я могу войти в кнопку «Сохранить»?Java Swing Buttons

ответ

1

Да. Храньте, какая кнопка была нажата в переменной экземпляра в вашем классе (я не имею в виду в вашем классе слушателя).

+0

Так очевидно, что я не мог его увидеть. Спасибо. – AdrIB

1

с помощью getSource(), мы можем сделать это

и добавить некоторые условия, как флаг = 1 в кнопке добавления, флаг = 2 в кнопке редактирования

если флаг = 1 затем добавить новую запись в таблицу

если флаг = 2, то отредактируйте существующую запись.

0

Лучший способ, чем использование ActionListeners непосредственно является использование действия:

http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html

Я всегда чувствовал, что getSource был большой хак, не знаю, почему вы никогда не должны использовать его.