Write a program that moves the ball in a pane. You should define a pane class for displaying the ball and provide the methods for moving the ball left, right, up, and down. Check the boundary to prevent the ball from moving out of sight completely. The language is Java. Solution import java.awt.BorderLayout; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Pane extends JFrame { private JButton jbtLeft = new JButton(\"Left\"); private JButton jbtRight = new JButton(\"Right\"); private JButton jbtUp = new JButton(\"Up\"); private JButton jbtDown = new JButton(\"Down\"); private BallPanel ballPanel = new BallPanel(); public MovingABall () { JPanel buttonPanel = new JPanel(); buttonPanel.add(jbtLeft); buttonPanel.add(jbtRight); buttonPanel.add(jbtUp); buttonPanel.add(jbtDown); ballPanel.setBackground(Color.RED); this.add(ballPanel); this.add(buttonPanel, BorderLayout.SOUTH); jbtLeft.addActionListener(new ButtonListener()); jbtRight.addActionListener(new ButtonListener()); jbtUp.addActionListener(new ButtonListener()); jbtDown.addActionListener(new ButtonListener()); } public static void main(String[] args) { MovingABall mainWondow = new MovingABall(); mainWondow.setTitle(\"Moving a ball\"); mainWondow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainWondow.setVisible(true); } class ButtonListener implements ActionListener { public void actionPerformed(ActionEvent buttonPressed) { if (buttonPressed.getSource() == jbtLeft) ballPanel.left(); else if (buttonPressed.getSource() == jbtRight) ballPanel.right(); else if (buttonPressed.getSource() == jbtUp) ballPanel.up(); else if (buttonPressed.getSource() == jbtDown) ballPanel.down(); } } class BallPanel extends JPanel { private int xCoord = -1; private int yCoord = -1; private Dimension preferredSize = new Dimension(300,200); public void left() { xCoord-=5; repaint(); } public void right() { xCoord+=5; repaint(); } public void up() { yCoord-=5; repaint(); } public void down() { yCoord+=5; repaint(); } @Override public Dimension getPreferredSize() { return preferredSize; } protected void paintComponent(Graphics aBall) { super.paintComponent(aBall); if (xCoord<0 || yCoord<0) { xCoord = getWidth()/2; yCoord = getHeight()/2; } System.out.println(\"X\" + getWidth()); aBall.drawOval(xCoord, yCoord, 10, 10); } } }.