import java.awt.*; import javax.swing.*; import java.util.*; class HanoiPanel extends JPanel { Stack<Integer>[] towers; int maxDisks; public void paintComponent (Graphics g) { super.paintComponent (g); // Draw the towers first. g.setColor (Color.cyan); int topOffset = 30; int spacing = 50; int towerWidth = 10; int towerHeight = 150; g.fillRect (spacing, topOffset, towerWidth, towerHeight); g.fillRect (2*spacing+towerWidth, topOffset, towerWidth, towerHeight); g.fillRect (3*spacing+2*towerWidth, topOffset, towerWidth, towerHeight); // Draw the disks. // INSERT YOUR CODE HERE } } public class HanoiGUI extends JFrame { HanoiPanel panel; public HanoiGUI (Stack<Integer>[] towers, int maxDisks) { this.setSize (200, 300); this.setTitle ("Tower of Hanoi"); panel = new HanoiPanel(); panel.towers = towers; panel.maxDisks = maxDisks; Container cPane = this.getContentPane(); cPane.add (panel); this.setVisible (true); } public void updateGUI () { panel.repaint (); } }