ayuda con reloj (repaint graficos)

Bueno amigos el caso es que me dejaron hacer un rejo, con sus respectivas manecillas la de horas y segundos, el caso es que las horas las quiero manipular con un JComboBox, el programa funciona bien el problema es que me deja una "huella" de lo que ya se pinto, no me borra las manecillas anteriores por asi decirlo, me he dado cuenta que para borrarlas basta con minimizar y maximizar la ventana
alguna idea donde debo poner mi repaint o que me sugieren les dejo el codigo, muchas gracias

AdjuntoTamaño
reloj7.java_.zip1.32 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Jose Manuel

Intenta con esto; import

Intenta con esto;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
 *
 * @author sanlegas
 */

public class Reloj extends JComponent {
   
    int i = 0;
    int eti[] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2};
    int centrox = 110;
    int centroy = 110;
    int hora = 3, minu = 30;
    int numero;
    private JComboBox imagesComboBox;
    private String nombres[] = {
        "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"
    };
   
    public void modificarHora(int horas) {
        hora = horas;
        //repaint();

    }
   
    public Reloj() {
        this.setLayout(new FlowLayout());
       
        imagesComboBox = new JComboBox(nombres);
        imagesComboBox.addItemListener(///empieza la clase anonima
                new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent event) {
                String str = (String) imagesComboBox.getSelectedItem();
               
                if (event.getStateChange() == ItemEvent.SELECTED) {
                    numero = Integer.parseInt(str.trim());
                    modificarHora(numero);
                    repaint();
                   
                }
               
            }
        });
        add(imagesComboBox);
        //repaint();
    }

    @Override
    public void paint(Graphics g) {
       
        paintComponents(g);
        Graphics2D g2 = (Graphics2D) g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2.drawOval(10, 10, 200, 200);
        g2.setColor(Color.BLUE);
       
        double angulo = 0.0 * 2.0 * Math.PI / 360.0;
        int co = 0, se = 0;
        for (i = 1; i <= 12; i++) {
            co = (int) (Math.cos(angulo) * 90);
            se = (int) (Math.sin(angulo) * 90);
           
            g2.drawString("" + eti[i - 1], centrox + (co), (centroy + (se)));
           
            co = (int) (Math.cos(angulo) * 65);
            se = (int) (Math.sin(angulo) * 65);
            if (hora < 3) {
                hora = hora + 12;
            }
           
            if (i == hora - 2) {
                g2.drawLine(centrox, centroy, centrox + ((int) (co)), (centroy + ((int) (se))));
                //repaint();
            }
           
           
           
            angulo = angulo + 30 * 2.0 * Math.PI / 360.0;
           
        }
       
        angulo = 0.0 * 2.0 * Math.PI / 360.0;
        for (i = 1; i <= 60; i++) {
            co = (int) ((Math.cos(angulo)) * 90);
            se = (int) ((Math.sin(angulo)) * 90);
           
            if (minu < 15) {
                minu = minu + 60;
            }
           
           
            if (i == minu - 15) {
                g2.drawLine(centrox, centroy, centrox + co, centroy + se);
            }
           
           
           
            angulo = angulo + 6 * 2.0 * Math.PI / 360.0;
            // if(i==45)
            // return;

        }
        //repaint();

       
    }
   
    public static void main(String args[]) {
        Reloj panel = new Reloj();        
        JFrame aplicacion = new JFrame("cincocc");
       
        aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        aplicacion.add(panel); // agrega el panel al marco
        aplicacion.setSize(400, 400); // establece el tamano del marco
        aplicacion.setLocation(500, 200);
        aplicacion.setVisible(true); // h
        aplicacion.getContentPane().setBackground(Color.WHITE);
        //aplicacion.setBackground(Color.DARK_GRAY);
    }
}

Hay avisas si te sale bien. Saludos.

Imagen de sanlegas

muchas gracias amigo te debo

muchas gracias amigo te debo una