将来自不同 class 的面板添加到框架
Adding panel from a different class to frame
我有 3 个 class。 class Window 应该包含和设置 GUI 组件。我想将面板添加到框架,但下面的代码似乎不起作用。这是编译错误信息:
错误:找不到符号
符号:变量getPanel
位置:面板类型的变量 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());
此外,以后一定要包含完整的错误消息,而不仅仅是您认为重要的部分。这将有助于我们快速找到问题,从而能够尽快为您提供帮助。
我有 3 个 class。 class Window 应该包含和设置 GUI 组件。我想将面板添加到框架,但下面的代码似乎不起作用。这是编译错误信息:
错误:找不到符号
符号:变量getPanel
位置:面板类型的变量 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());
此外,以后一定要包含完整的错误消息,而不仅仅是您认为重要的部分。这将有助于我们快速找到问题,从而能够尽快为您提供帮助。