将面板从其他类添加到框架

时间:2016-10-06 17:29:32

标签: java class jframe jpanel

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

错误:找不到符号

symbol:变量getPanel

location:类型为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;
    }
}

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

1 个答案:

答案 0 :(得分:1)

您正在尝试调用方法getPanel(),但您只需输入getPanel就可以调用它。

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

更改此行:

frame.add(myPanel.getPanel);

到此:

frame.add(myPanel.getPanel());

此外,将来请确保包含整个错误消息,而不仅仅是您觉得重要的部分。这将有助于我们快速找到问题,从而能够更快地帮助您。