【问题标题】:Using created Java methods in a constructor [closed]在构造函数中使用创建的 Java 方法 [关闭]
【发布时间】:2013-01-01 01:44:51
【问题描述】:

我创建了一个名为 fullPanel() 的方法,它检查 JPanel 中组件的数量,如果是某个数量,则返回 true。但是,当我在类的构造函数中使用此方法时,出现错误:找不到符号。我是方法新手,所以我不确定我在哪里搞砸了,或者我是否在错误的地方创建了方法。

以下是相关代码:

public class Board extends JPanel {
  public boolean fullPanel(JPanel panel) {
    boolean full = false;
    Component[] components = panel.getComponents();
    if (components.length == 0) return full;
    full = true;
    return full;
  }

  public Board() {
    addMouseListener(new MouseAdapter() {
      @Override
      public void mousePressed(MouseEvent event) {
        if (selectedPanel.fullPanel() == true) {}
      }
    });
  }
}

【问题讨论】:

  • 您能否发布完整的错误消息,其中可能/应该包含未定义符号的名称
  • 请确保您的代码正确缩进。我只是为你做了,但下次你应该自己做。它有助于提高可读性并大大提高您的问题得到回答的机会。
  • fullPanel() 方法将JPanel 作为参数。可能是您尝试做fullPanel(selectedPanel)。你没有解释任何关于你的问题和你想要做什么。
  • 什么是selectedPanel?这就是错误所在。
  • 感谢 Shivam,这正是我所需要的。很抱歉格式错误且缺少完整的错误消息,我将在以后的问题中包含它们。

标签: java methods constructor


【解决方案1】:

试试这个:

  public Board() {
    addMouseListener(new MouseAdapter() {
      @Override
      public void mousePressed(MouseEvent event) {
        if (fullPanel(selectedPanel)) {} // note removal of redundant "== true"
      }
    });
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 2018-05-06
    • 2022-10-12
    • 1970-01-01
    相关资源
    最近更新 更多