Haciendo un reloj digital en Java

Estoy haciendo un reloj digital para un proyecto y tengo cuatro clases:DigitalTimeUI, que es la clase JFrame,TitlePanel, DigitPanelyColonPanel, que son JPanels para el articulo indicado. Cuando esté terminado, debería verse así:

La parte en la que estoy atascado está agregando elDigitPanels al marco en la clase de interfaz de usuario. Esto es lo que tengo en la clase principal en este momento:

public class DigitalTimeUI extends JFrame {

public static GregorianCalendar currentDate;
final static int CLOCKWIDTH = 605;
final static int CLOCKHEIGHT = 200;

public static void main(String[] args) {
    int numOfDigits = 6;
    int startingX = 0;
    int startingY = 0;

    Font clockFont = new Font("Tahoma", Font.BOLD, 72);
    JFrame clock = new JFrame();

    clock.setSize(CLOCKWIDTH, CLOCKHEIGHT);
    clock.setVisible(true);
    clock.setResizable(false);
    clock.setDefaultCloseOperation(EXIT_ON_CLOSE);

    TitlePanel titlePanel = new TitlePanel();
    JLabel title = new JLabel("DIGITAL CLOCK");
    title.setFont(clockFont);
    title.setForeground(Color.BLACK);
    titlePanel.add(title);
    clock.add(titlePanel);

    DigitPanel digitPanel = new DigitPanel();
    JLabel digit;
    startingY = 115;
    while (numOfDigits > 0) {
        if ((numOfDigits % 2) == 0) {
            startingX += 5;
            digit = new JLabel(String.valueOf(0));

        }

    }
  }
}

El código es un poco desordenado en este momento, todavía tengo algo de limpieza que hacer después de que me haya dado cuenta de la última parte. Esa parte inferior es solo un fragmento de mis intentos de mostrar los campos de 6 dígitos. Creo que el principal problema que tengo es encontrar una manera de dividir el tiempo devuelto desdeGregorianCalendar y póngalos en 6 cajas diferentes, luego una forma eficiente de colocarlos en el marco utilizando un bucle while o lo que sea.

Para aclarar: La imagen anterior me la dio el instructor como una guía para seguir al formatear mi reloj. También tiene 9 paneles. El "TIEMPO DIGITAL" es un panel de laTitlePanel clase. Las cajas de dígitos son de laDigitPanel Clase y hay 6 de ellos. Las cajas de colon son de laColonPanel Clase y hay dos de ellos. El problema que tengo es con dividir el tiempo en 6 cajas diferentes. Como, donde la imagen muestra "48", necesito una forma de tomar el valor deGregorianCalendar.MINUTE o lo que sea, y divídalo en un 4 y un 8 para poner en cada una de esas cajas. Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta