У меня есть 3 класса. Класс 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;
}
}
Так как же я могу добавить панель в рамку ?
Спасибо, это работает! Однако у меня есть новая проблема. Новое сообщение об ошибке, которое я получаю после запуска: java.lang.StackOverflowError \t на панели. (RandomArtist.java:40) \t at Frame. (RandomArtist.java:25) \t на панели. (RandomArtist.java:40) \t at Frame. (RandomArtist.java:25) –
oolongtea
Возможно, вам стоит создать новый вопрос об этой ошибке, чтобы мы могли помочь больше –