Java 将面板从其他类添加到框架
我有三节课。类窗口应该包含并设置GUI组件。我想将面板添加到框架中,但下面的代码似乎不起作用。这是编译错误消息: 错误:找不到符号 符号:变量getPanel 位置:Panel类型的变量myPanelJava 将面板从其他类添加到框架,java,class,jframe,jpanel,Java,Class,Jframe,Jpanel,我有三节课。类窗口应该包含并设置GUI组件。我想将面板添加到框架中,但下面的代码似乎不起作用。这是编译错误消息: 错误:找不到符号 符号:变量getPanel 位置:Panel类型的变量myPanel class Window { Frame myFrame = new Frame(); Panel myPanel = new Panel(); void run() { myFrame.build(); myPanel.build();
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());
此外,将来一定要包括整个错误消息,而不仅仅是您认为重要的部分。这将帮助我们快速发现问题,从而能够更快地帮助您。谢谢,它很有效!不过,现在我有了一个新问题。运行后我得到的新错误消息是:java.lang.StackOverflowerError在面板上。(randomArtister.java:40)在帧上。(randomArtister.java:25)在面板上。(randomArtister.java:40)在帧上。(randomArtister.java:25)也许您应该为这个错误创建一个新问题,以便我们可以提供更多帮助