我正在调用DataComparison()
public class SteganographyGUI {
...
DataComparison dataComp;
dataComp = new DataComparison();
}
public int getLSB(){
String x = fileChooser1.getSelectedFile().getAbsolutePath();
x = x.substring(x.length() - 10, x.length() - 9);
return Integer.parseInt(x);
}
当满足某些条件时。我的问题是,当我尝试使用 gui.getLSB() 访问 getLSB 时
public class DataComparison {
public static SteganographyGUI gui;
...
public DataComparison(){
lsb = gui.getLSB();
}
public static void main(String[] args) {
gui = new SteganographyGUI();
gui.setVisible(true);
}
出现错误 - 线程“AWT-EventQueue-0”java.lang.NullPointerException 中出现异常
我该如何解决这个问题?
最佳答案
您尝试在 DataComparison 类中调用 getLSB(),但没有为其提供 SteganographyGUI 类的引用。因此,更改以下行:
DataComparison dataComp;
dataComp = new DataComparison();
至:
DataComparison dataComp;
dataComp = new DataComparison(this);
并更改构造函数:
public DataComparison(SteganographyGUI guiRef){
gui = guiRef;
}
关于java - 无法访问另一个类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29858556/