import javax.swing.*;import java.awt.*;import java.awt.event.*;public class SlidingGUIPanel extends JPanel implements ActionListener {    private JButton tile = new JButton[7];    private SlidingTilePuzzle sliding;    private String puzzleState;	        public SlidingGUIPanel() {        sliding = new SlidingTilePuzzle();        puzzleState = sliding.reportGameState();        for (int k = 0; k < tile.length; k++) {            tile[k] = new JButton(puzzleState.charAt(k));            tile[k].addActionListener(this);            add(tile[k]);        }        add(new Label("Click on the tile you want to move."));    }    public void actionPerformed(ActionEvent e) {        for (int k = 0; k < tile.length; k++)            if (e.getSource() == tile[k])		((GUIPlayableGame)sliding).submitUserMove(tile[k].getLabel());        puzzleState = sliding.reportGameState();    }}