Question: I'm getting a very odd error where Java is asking me to add a semi-colon to the code even though there's one already. I'm clueless as to what to do.

```
program.java:141: error: <identifier> expected
        final button.setIcon(new ImageIcon(program.class.getResource("/files/image.jpg")));
                             ^
program.java:141: error: ';' expected
        final button.setIcon(new ImageIcon(program.class.getResource("/files/image.jpg")));
                                                                                         ^

```

Thanks!

-- Edit -- 

```
private void initialize() {

JButton button = new JButton("a button!");
button.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        viewFilmFrame();
    }
});

button.setBounds(471, 115, 146, 209);
frame.getContentPane().add(button);
button.setIcon(new ImageIcon(program.class.getResource("/files/image.jpg")));

}

```

Answer: 
You can't make the call to `button` final. Remove the `final` and it will work. The `final` modifier can be applied at a function definition, to a variable instance, or to a class definition.

```
final JButton button = new JButton("a button!");

```
Perhaps, you could try:

NameOfOuterClass.button.setIcon...

Also, did you check that the previous and following lines had semicolons.