Здравствуйте, fireXXX, Вы писали:
XXX>Например.. делаю в одном методе отрисовку 1 JFrame и в него вставляю 3 JPanel, создаю второй метод и в нем хочу заполнить одну JPanel — ФИГ! Он ее не видит. Пытаюсь и так и сяк.
Все переменные, объявленные в конструкторе (или любом другом методе) считаются локальными, и область их видимости ограничена конструктором/методом.
Если какой-либо объект (например, панель) хочется использовать из разных методов, то его надо описывать как поле нашего класса:
public class Main extends JFrame {
private JPanel rightJPanel;
Main(){
printJFrame();
}
void printJFrame () {
//Не описываем здесь нужную переменную, она уже описана как поле класса
JPanel leftUpperJPanel, leftBottomJPanel, leftConnectJPanel;
//А вот проинициализировать её стоит
rightJPanel = new JPanel();
}
void drawRightJPanel() {
JLabel test = new JLabel("qqq;");
//теперь всё работает. Ну, точнее, хотя бы компилируется.
rightJPanel.add(test);
}
}
... << RSDN@Home 1.2.0 alpha 4 rev. 1232>>