所以我试图从名为 Calculator 的类访问 JComboBox。 JComboBox 本身位于一个方法中,并且位于另一个名为 GUI 的类中的 JPanel 中。 谢谢。
这是我的代码
public class GUI {
public static JFrame MainFrame(){
//the endless code
frame.add(konvpanel();
return frame;
}
public static JPanel konvpanel(){
JPanel a = new JPanel();
String [] itembox = {"...","XXX","===","|||"};
JComboBox nnn = new JComboBox(itembox);
a.add(nnn);
return a;
}
}
提前致谢。
最佳答案
您无法访问nnn
,因为该引用不存在于该方法的范围之外。
所以你有两个选择:
- 在其他地方引用组合框,例如作为实例变量或(哎呀)静态变量
- 尝试在框架内找到面板,并在面板内找到组合框(例如,通过获取所有子项并检查其类型和位置)。
我会选择选项一。
另一个选项,取决于您需要访问组合框的原因,可能是向组合框添加监听器,并添加对 Calculator
实例的引用那个听众也是如此。然后,每当您注册的事件被触发时,您就会将该信息传递给计算器。
关于java - 从另一个java类访问组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22174492/