Ikon (icon) yang terdapat di obyek button (kelas JButton) dapat dirubah ketika obyek tersebut ditekan (pressed) atau saat pointer mouse berada di atasnya (rollover). Anda dapat menggunakan metoda setPressedIcon untuk merubah ikon saat obyek button ditekan dan setRolloverIcon untuk merubah ikon saat pointer mouse berada di atasnya. Metode setPressedIcon dan setRolloverIcon adalah metode yang diwarisi dari kelas AbstractButton. Contoh program berikut ini mendemonstrasikan penggunaan metoda setPressedIcon dan setRolloverIcon.

// Nama file : EfekIkon.java
// Mendemonstrasikan metoda setPressedIcon dan setRolloverIcon

// Mengimpor kelas
import javax.swing.*;
import java.awt.*;
import java.net.URL;

// Deklarasi kelas
public class EfekIkon extends JFrame {

   public EfekIkon() {

      Class metaObject = this.getClass();
      URL urlYellowFlag = metaObject.getResource("image2/yellowflag.png");
      URL urlBlueFlag = metaObject.getResource("image2/blueflag.png");
      URL urlRedFlag = metaObject.getResource("image2/redflag.png");

      ImageIcon iconYellowFlag = new ImageIcon(urlYellowFlag);
      ImageIcon iconBlueFlag = new ImageIcon(urlBlueFlag);
      ImageIcon iconRedFlag = new ImageIcon(urlRedFlag);

      JButton jbtFlag = new JButton("Bendera Warna", iconYellowFlag);
      jbtFlag.setPressedIcon(iconBlueFlag);
      jbtFlag.setRolloverIcon(iconRedFlag);

      getContentPane().add(jbtFlag, BorderLayout.CENTER);
   }

   // Metoda main
   public static void main(String[] args) {
      EfekIkon frame = new EfekIkon();
      frame.setTitle("Kelas EfekIcon");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(190, 100);
      frame.setVisible(true);
   }
}

Ketika Anda menggerakkan pointer mouse di obyek button (rollover), ikon di obyek tersebut akan berubah menjadi warna merah. Ketika obyek button ditekan, ikon akan berubah menjadi warna biru. Ketika pertama kali aplikasi dijalankan dan tidak ada aktifitas di obyek button, warna ikon adalah kuning (default icon).

Menampilkan efek ikon di obyek button