我有一个包含两个按钮的swing UI:1。将数据库值加载到Hashmap 2.将输入值与数据库值进行比较。 以前两个操作都是使用相同的按钮完成的,因此Hashmap已经填充并且输入被正确比较。但现在不是这样了。 调试后,我发现hashmap值为null,因为在第二次操作期间值会丢失。
如何解决这个问题。因此,当我单击第二个按钮时,哈希映射值仍然存在。
代码示例: 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);
}
因为t和d是两个单独的对象,所以当我点击d时,t中的值不会持续存在。为此,我在calulateDRG调用中包含了按钮1中使用的方法,并且其工作正常,但我希望两者分开。这该怎么做? 感谢
答案 0 :(得分:2)
DRGCalc t = new DRGCalc();
此对象仅存在于ActionListener中。如果希望对象可用于其他ActionListeners或类中的其他方法,则需要将其设为类变量。所以在你的课堂上你需要定义:
DRGCalc t;
然后在ActionListener中将代码更改为:
t = new DRGCalc();