Detectando a seleção de texto no JTextArea

Eu tenho um JTextArea e estou detectando se algum texto é selecionado, se nenhum for, então dois dos itens de menu ficam acinzentados. O problema que tenho é que, ao compilar e abrir o aplicativo, tenho que clicar primeiro no JTextArea e, em seguida, os itens de menu ficam acinzentados; caso contrário, não serão, mesmo que nenhum texto seja selecionado. Estou usando o seguinte ouvinte de sinal de intercalaçã

    textArea.addCaretListener(new CaretListener() {

        @Override
        public void caretUpdate(CaretEvent arg0) {
            int dot = arg0.getDot();
            int mark = arg0.getMark();
            if (dot == mark) {

                copy2.setEnabled(false);
                cut1.setEnabled(false);
            }
            else{
                cut1.setEnabled(true);
                copy2.setEnabled(true);
            }

        }
    });

questionAnswers(6)

yourAnswerToTheQuestion