Re: Помогите новичку с общей концепцией
От: dfdk  
Дата: 21.08.09 16:09
Оценка:
Здравствуйте, 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>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.