繁体   English   中英

将不同类的面板添加到框架

[英]Adding panel from a different class to frame

我有 3 节课。 类 Window 应该包含和设置 GUI 组件。 我想将面板添加到框架,但下面的代码似乎不起作用。 这是编译错误消息:

错误:找不到符号

符号:变量 getPanel

位置:Panel 类型的变量 myPanel

class Window {
    Frame myFrame = new Frame();
    Panel myPanel = new Panel();

    void run() {
        myFrame.build();
        myPanel.build();
    }

    public static void main(String[] args) {
        (new Window()).run();
    }
}

class Frame {
    JFrame frame;

    Panel myPanel = new Panel();

    void build() {
        frame = new JFrame("Frame");

        frame.add(button, BorderLayout.SOUTH);
        frame.add(myPanel.getPanel); //compilation error: cannot find symbol

        frame.setSize(500, 400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

class Panel extends Frame {
    private JPanel panel;

    void build() {
    panel = new JPanel();
    }

    public JPanel getPanel() {
        return panel;
    }
}

那么如何将面板添加到框架中呢?

您正在尝试调用方法getPanel() ,但您尝试通过简单地键入getPanel来调用它。

您缺少括号,这表明您正在调用方法而不仅仅是访问变量。

改变这一行:

frame.add(myPanel.getPanel);

对此:

frame.add(myPanel.getPanel());

此外,将来一定要包含整个错误消息,而不仅仅是您认为重要的部分。 这将帮助我们快速找到问题,从而能够更快地为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM