botão java pressionado por 3 segundos

Eu criei um botão e quero estes:

Quando o usuário clica no botão, ele permanece pressionado como 3 segundos. Após 3 segundos, o botão deve ser novamente pressionado. Assim, o usuário não pode clicar no botão novamente sem esperar 3 segundos. Eu tentei estes:

{
    button3 = new Button(c20, SWT.PUSH | SWT.CENTER);
    button3.setText("QUERY");
    button3.setBounds(205, 131, 62, 40);
    button3.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent event) {
            try {
                start_query();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        setPressedIcon();///??
        public void widgetDefaultSelected(SelectionEvent event) {
        }
    });
}

Você tem alguma sugestão?

questionAnswers(5)

yourAnswerToTheQuestion