【问题标题】:Can I acces variables and/or methods of the class a JFrame was created in from the panel?我可以从面板访问创建 JFrame 的类的变量和/或方法吗?
【发布时间】:2020-10-21 20:19:19
【问题描述】:

缩短代码:

public class Test{
  private JFrame frame;
  private TestPanel panel;
  
  Object obj;
 
  public static void main(String args[]) {
    Test test = new Test();
  }

  public Test() {
    try {
      // Setup GUI
      frame = new JFrame("Test");
      panel = new TestPanel();
      frame.add(panel);
    }
  }
}

是否可以直接从面板访问obj? 如果是:如何?

提前感谢您的帮助。 :)

【问题讨论】:

  • 我不完全明白您所说的“来自面板”的意思。你能再详细说明一下吗?
  • 我在Testpanel中写了一个方法,需要从obj中调用一个方法。 (在我的例子中:obj是一个JChannel,我在Testpanel的一个方法中创建了一个Message,但是找不到调用JChannel的send方法的方法)
  • 我明白了。我不认为你的意思是可能的,因为framepanel 都没有引用obj。例如,是什么阻止您通过构造函数或 setter 将对 obj 的引用传递给 panel
  • 任务是修改代码使图纸同步。它从来没有具体说明我们被允许编辑什么,所以我尝试只添加我们被明确告知这样做的东西,而不是触及任何现有的东西。 ^^ 但我想我会在面板的构造函数中传递“this”,这样我就可以访问所有内容。谢谢你的帮助:)

标签: java swing jframe jpanel


【解决方案1】:

没有;并非没有将对对象的引用传递给面板。

【讨论】:

    猜你喜欢
    • 2019-08-14
    • 2012-06-03
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    相关资源
    最近更新 更多