我有一个包含两个按钮的 swing UI:1. 将数据库值加载到 Hashmap 2. 将输入值与数据库值进行比较。 以前,这两个操作都是使用同一个按钮完成的,因此 HashMap 会被填充并且输入会被正确比较。但现在却不是这样了。 经过调试后,我发现 hashmap 值为空,因为这些值在第二次操作期间丢失了。
如何解决这个问题。这样当我单击第二个按钮时, HashMap 值仍然存在。
代码示例: 按钮1:加载-
LoadMaps = new JButton( new AbstractAction("LoadMaps") {
@Override
public void actionPerformed( ActionEvent e ) {
DRGCalc t = new DRGCalc();
t.loadHashMaps();
}
});
按钮2:计算-
public void actionPerformed(ActionEvent evt) {
DRGCalc d = new DRGCalc();
int i = d.calculateDRG(Codes);
}
由于 t 和 d 是两个独立的对象,因此当我单击 d 时,t 中的值不会保留。为此,我在 calulateDRG 调用中包含了按钮 1 中使用的方法,它工作正常,但我希望两者是分开的。这个怎么做? 谢谢
最佳答案
DRGCalc t = new DRGCalc();
该对象仅存在于 ActionListener 中。如果您希望该对象可供类中的其他 ActionListener 或其他方法使用,那么您需要将其设为类变量。所以在你的类中你需要定义:
DRGCalc t;
然后在 ActionListener 中将代码更改为:
t = new DRGCalc();
关于java - 在 Java Swing 应用程序中保留对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045942/