Постоянное значение объекта в приложении Java Swing - PullRequest
0 голосов
/ 18 мая 2011

У меня есть свинг-интерфейс с двумя кнопками: 1. Загрузка значений базы данных в Hashmap 2. Сравнение входных значений со значениями базы данных.Ранее обе операции выполнялись с использованием одной и той же кнопки, поэтому Hashmap заполнялся и входные данные сравнивались правильно.Но сейчас это не так.После отладки я узнал, что значения hashmap равны нулю, так как значения теряются во время второй операции.

Как решить эту проблему.Так что значения карты хеша сохраняются, пока я нажимаю вторую кнопку.

Пример кода: Button1: Загрузка-

LoadMaps = new JButton( new AbstractAction("LoadMaps") {         

@Override         

public void actionPerformed( ActionEvent e ) {             

DRGCalc t = new DRGCalc();

t.loadHashMaps();
            }    
        }); 

Button2: Расчет-

public void actionPerformed(ActionEvent evt) {

DRGCalc d = new DRGCalc();

int i = d.calculateDRG(Codes);

}

Ast и d - два отдельных объекта, поэтому значения в t не будут сохраняться при нажатии кнопки d.Для этого я включил метод, используемый в кнопке 1, в вызов calulateDRG, и он работает нормально, но я хочу, чтобы оба были отдельными.Как это сделать?Спасибо

1 Ответ

2 голосов
/ 18 мая 2011
DRGCalc t = new DRGCalc(); 

Этот объект существует только в ActionListener.Если вы хотите, чтобы объект был доступен другим ActionListeners или другим методам в вашем классе, тогда вам нужно сделать его переменной класса.Итак, в вашем классе вы должны определить:

DRGCalc t; 

Затем в ActionListener вы измените код на:

t = new DRGCalc(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...