Linha JTable Selecionada dá erro

Estou numa luta desigual com um JTable que é o seguinte. Estou tentando capturar uma informação de uma determinada célula porém está dando erro sempre. Quando ele testa a condição if o código sempre vai para o catch da instrução try. Já tentei de tudo mas não consigo evoluir.

Segue código abaixo.

if (jTableAgenda.getValueAt(jTableAgenda.getSelectedRow(), 5).toString().equals("X")) {
   jPanelDadosTabela.setBackground(new Color(240, 240, 240));
} else {
   jLabelExecutado.setText(jTableAgenda.getValueAt(jTableAgenda.getSelectedRow(), 5).toString());
   jPanelDadosTabela.setBackground(new Color(182, 191, 255));
}

O erro que aparece é

java.lang.NullPointerException.

O NullPointerException nunca acontece por acaso. E ele só irá ocorrer caso você esteja tentando acessar um método ou atributo de um objeto que é nulo.
Embora o java permita que você vá encadeando as chamadas a métodos e blocos, isso acaba gerando uma certa poluição.
Assim sendo, o ideal é que você vá isolando as coisas, para deixar mais legível e conseguir entender o erro.
O trecho acima poderia ser:

int selectedRow = jTableAgenda,getSelectedRow();
Object valueAtCellInSelectedRow = jTableAgenda.getValueAt(selectedRow, 5).toString();
String valor = null;
if(null != valueAtCellInSelectedRow) {
    valor = valueAtCellInSelectedRow.toString();
}

if("X".equals(valor)) {
    jPanelDadosTabela.setBackground(new Color(240, 240, 240));
} else {
    jLabelExecutado.setText(jTableAgenda.getValueAt(jTableAgenda.getSelectedRow(), 5).toString());
    jPanelDadosTabela.setBackground(new Color(182, 191, 255));
}

Percebe como fica mais bonito?
Mas, o código acima ainda pode dar problemas.
A melhor solução é apenas identificar a linha selecionada e invocar um método que recupere o valor desejado no TableModel. Aí sim você vai garantir que algo será retornado.

Luis boa noite!!!

Vc arrebentou!! Funcionou perfeito e muito obrigado pelo belo esclarecimento.

Abraco.