Как я могу получить доступ к членам закрытого класса класса контейнера внутри анонимного внутреннего класса?

Как я могу получить доступ ко всем полям-членам класса, который содержит функцию initTimer(), из класса AbstractActionClass?
Спасибо.

private void initTimer()
    {
       Action updateClockAction = new AbstractAction() {
                public void actionPerformed(ActionEvent e){
                    JLabel secLabel = m_GameApplet.GetJpanelStartNetGame().GetJlabelSeconds();
                    secLabel.setFont(new java.awt.Font("Lucida Handwriting", 1, 36));
                    secLabel.setForeground(Color.red);
                    secLabel.setText(Integer.toString(m_TimerSeconds));
                    if(m_TimerSeconds >0)
                    {
                        m_TimerSeconds--;
                    }
                    else if (m_TimerSeconds == 0)
                    {
                        m_Timer.stop();
                        m_GameApplet.GetJpanelStartNetGame().GetJlabelSeconds().setText("0");
                        m_GameApplet.GetJpanelStartNetGame().GetJbuttonFinish().setVisible(false);
                        //Checking whether time ended for both players and no solution was recieved
                        if(!m_WasGameDecisived)
                        {
                            System.out.println("Tie - No one had a solution in the given time");
                            //askUserForAnotherRoundLeaveTableOrExitProgram();//////////////////////////////////////////////To implement
                        }
                    }
                }
            };
            m_Timer = new Timer(1000, updateClockAction);
    }

person JavaSa    schedule 27.09.2011    source источник


Ответы (2)


Пытаться,

ClassName.this.foo

где foo — член класса. Для получения дополнительной информации см. JLS §15.8.4. это.

person mrkhrts    schedule 27.09.2011

Предполагая, что ваш внешний класс называется OuterClass, тогда OuterClass.this.whatever

person dty    schedule 27.09.2011
comment
Не нужно даже квалифицировать это, если нет столкновения. Не то чтобы это плохая практика. - person Mark Peters; 27.09.2011
comment
Очень верно. Я склонен, хотя, для ясности. - person dty; 27.09.2011