JDialog + Temporizador

Pessoal, tenho um terminal ligado a um servidor via socket via TCP/IP. Eu gostaria de adicionar no jButton1 deste código um pequeno temporizador de 10 segundos que fica decrescendo e mostrando para o usuário(O timer vai ficar dentro do botão). Se o usuário clicar no botão para reenviar a informação novamente o temporizador pára e tudo bem, caso o usuário esqueça e o temporizador chegue a zero ele sozinho reenvia a informação. Segue o código:
    private void confirmarReenvio(){

        Icon Icon1 = new ImageIcon("icone_certo.PNG");
        Icon Icon2 = new ImageIcon("icone_errado.PNG");
        String mensagem = "MENSAGEM";
        String titulo = "TÍTULO";

        JOptionPane optionPane = new JOptionPane();
        optionPane.setMessage(mensagem);
        optionPane.setMessageType(JOptionPane.QUESTION_MESSAGE);
       
        JDialog dialog = optionPane.createDialog(this, titulo);

        JButton jButton1 = getButton1(dialog, optionPane, "SIM, REENVIE!", Icon1);
        JButton jButton2 = getButton2(dialog, optionPane, "NÃO, CANCELE!", Icon2);
        optionPane.setOptions(new Object[] { jButton1, jButton2 });

        Cursor cursor = dialog.getCursor();
        dialog.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        dialog.setVisible(true);

    }

    public JButton getButton1(final JDialog dialog, JOptionPane optionPane, String text, Icon icon) {

        JButton button = new JButton(text, icon);

        ActionListener actionListener = new ActionListener() {

            public void actionPerformed(ActionEvent actionEvent) {

		// AçÕES

            }

        };

        button.addActionListener(actionListener);

        return button;

    }
Esse código será utilizado caso a impressora que está em rede apresente problemas na impressão eu possa reenviar os dados. Agradeço alguma ajuda a respeito.

Acho que o caminho seria voce criar uma Thread a parte que inicia o contador
enviando a referencia do botao para ela
assim voce consegue dar um sleep de 1seg e ir atualizando o texto do botao
Dai voce tambem consegue verificar quando chegou a ‘0’ seg ou parar a Thread
Pode ser que tenha uma alternativa melhor.

Exato, estou utilizando a classe Timer(), mas não sei como adicionar um label com o contador dentro do botão e em seguida no JDialog. Agradeço a resposta!