@@ -0,0 +1,992 @@
+import javax.swing.ImageIcon;%0Aimport javax.swing.JButton;%0A%0Apublic class Tile extends JButton%7B%0A%09private int row, col, iconRowIndex, iconColIndex;%0A%09private ImageIcon icon;%0A%09%0A%09public int getIconRowIndex() %7B%0A%09%09return iconRowIndex;%0A%09%7D%0A%09public void setIconRowIndex(int iconRowIndex) %7B%0A%09%09this.iconRowIndex = iconRowIndex;%0A%09%7D%0A%09public int getIconColIndex() %7B%0A%09%09return iconColIndex;%0A%09%7D%0A%09public void setIconColIndex(int iconColIndex) %7B%0A%09%09this.iconColIndex = iconColIndex;%0A%09%7D%0A%09public int getRow() %7B%0A%09%09return row;%0A%09%7D%0A%09public int getCol() %7B%0A%09%09return col;%0A%09%7D%0A%09@Override%0A%09public ImageIcon getIcon() %7B%0A%09%09return icon;%0A%09%7D%0A%09public void setIcon(ImageIcon icon) %7B%0A%09%09this.icon = icon;%0A%09%7D%0A%09%0A%09public Tile(int iconRowIndex, int iconColIndex) %7B%0A%09%09super();%0A%09%09this.iconRowIndex = iconRowIndex;%0A%09%09this.iconColIndex = iconColIndex;%0A%09%09this.row = iconRowIndex;%0A%09%09this.col = iconColIndex;%0A%09%09this.icon = null;%0A%09%7D%0A%09%0A%09public boolean hasRightImage() %7B%0A%09%09return (row == iconRowIndex && col == iconColIndex) ? true : false;%0A%09%7D%0A%09%09%0A%7D%0A

Add our own custom button to use as a Tile.