java - 从另一个java类访问组件

标签 java swing class components

所以我试图从名为 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/

相关文章:

java - 如何在列表中使用 JSON Accumulate 方法?

java - 我如何在java中的同一文本区域使用不同的字体类型和大小

java - 持有资料 list

java - 为什么我的 Eclipse 4.5.2 无法进行 'step into' 调试? (步进过滤器已停用)

java - Spring 安全 "Refused to execute script from ..."

java - 本地机器上的 MySQL 谷歌应用程序引擎 - 错误

java - 如何在 JPanel 上添加选项卡

matlab - Matlab中如何正确继承TCPIP类?

python - 属性错误 : 'dict' object has no attribute 'charss'

c++ - 使用头文件扩展 C++ 中的类