Если это действительно работает, то это означает, что yellowButton
, вероятно, поле класса, которое вы не заметили.
Проверьте класс еще раз.Вероятно, у вас есть что-то вроде этого:
class ButtonPanel extends JPanel implements ActionListener
{
private JButton yellowButton;
public ButtonPanel()
{
yellowButton = new JButton("Yellow");
/* this.yellowButton == yellowButton */
/* etc */
}
}
Если переменная foo
не может быть найдена в области действия метода, она автоматически возвращается к this.foo
.Напротив, некоторые языки, такие как PHP, не обладают такой гибкостью.(Для PHP вы всегда должны делать $this->foo
вместо $foo
для доступа к полям классов.)