# Java: JButton Appearance

You don't have to do anything special with a button, but there are many methods for changing the appearance. You can change the alignment of the text and icon, set the font, have different icons when the button is pressed or "rolled over", set margins and borders, change the color, etc

Normally, you don't need to use the ActionEvent parameter that is passed to the listener -- it's enough to know that the button was clicked. However, you can find out things such as the time to button was clicked, or which modifier keys were pressed, if you need them. You can also get a special code that you associated with that button if you need it.

## Dynamically changing a button

You can change the text or icon (image) that appears on a button with:

    btn.setText("someText");
    btn.setIcon(anIcon);

WARNING: If you change the size of the button by one of these changes, this may have consequences in the layout of the components. This may require a call to `validate()` or `revalidate()` which then computes a new layout based on the change in the button size. This is not a quick operation. Replacing an icon with another of the same size should not cause any problems.