У меня возникла техническая проблема с моим ActionListener.Видите ли, у меня есть одна кнопка, которая имеет несколько возможных действий, в зависимости от того, какой MenuItem был нажат ранее.Поэтому я создал ActionListener с ActionEvent e.«e» должен проверять одно из 3 условий (потому что у меня есть 3 MenuItems - Add, Delete и Modify) и в зависимости от того, какой из них выбран, действия, которые происходят, отличаются друг от друга.
проблема в том, что ни одно из условий e.getSource () никогда не проверяется (хотя я несколько раз проверял, что они были. Я застрял на этой проблеме в течение 3 дней, так что, честно говоря, небольшая помощь будет очень кстати!
Тем временем, счастливого Рождества и счастливого Нового года!
private void buttonValidateActionPerformed(java.awt.event.ActionEvent evt){
// TODO add your handling code here:
ActionListener l = (ActionEvent e) -> {
if(e.getSource()==menuItemAdd)
{
System.out.println("eureka!");
buttonResearch.setEnabled(false);
if (evt.getSource()== buttonValidate)
{
DataTransac dt = new DataTransac();
dt.ajouterProgrammeurs("...");
}
}
if(e.getSource()==itemDelete)
{
if(evt.getSource()== buttonValidate)
{
DataTransac dt = new DataTransac();
dt.deleteProgrammers("...");
}
}
if(e.getSource()==itemModify)
{
if(evt.getSource()==buttonValidate)
{
DataTransac dt = new DataTransac();
dt.modifyProgrammeurs("...");
}
}
};
menuItemAdd.addActionListener(l);
itemDelete.addActionListener(l);
itemModify.addActionListener(l);
/*
*/
}
Редактировать: я попробовал метод ".equals ()", однако он не сработал.
ActionListener l = (ActionEvent e) -> {
if(e.equals(menuItemAjouter))
{
System.out.println("eureka!");
buttonResearch.setEnabled(false);
if (evt.getSource()== buttonValidate)
{
DataTransac dt = new DataTransac();
dt.addProgrammers("...");
}
...
Редактировать 2: После тестирования метода хеширования я случайно наткнулся на странную ошибку: сначала, когда я нажимаю на «Добавить» MenuItem, а затем на кнопку «Проверить», ничего не происходит.Однако, если я нажимаю кнопку «Проверить», затем «Добавить элемент меню, код работает ... Я собираюсь попробовать другие условия.