Notepad com JavaFX

Bom dia!

Sou iniciante no universo Java, e estou fazendo um notepad em JavaFX, me baseando no notepad padrão do Windows, a fim de fixar o aprendizado. Estou usando no lugar de um TextArea um javafx.scene.web.HTMLEditor para ter uma liberdade maior de formatação sem usar API externa. Porém, há duas funcionalidades que não tenho ideia de como fazer:

  1. Barra de status (menu “exibir -> barra de status” no notepad do Windows), nela é exibida a linha e a coluna onde o usuário está digitando. Minha dúvida é: como pegar a posição do cursor para poder colocá-la em uma label através do setText()? Já tive a ideia de usar um loop para contar os “\n” no texto para pegar a linha, e pegar o lenght de uma linha para pegar a coluna. Isso não resolve pois ao mudar a posição do cursor com o mouse ou com as setas do teclado os valores de linha e coluna não seriam atualizados.
  2. Localizar string (menu “editar -> Localizar…” no notepad do Windows), nela é exibido uma tela que procura no texto que o usuário digitou uma informação que ele queira, e seleciona essa informação. Sei fazer o mecanismo da procura através das classes Pattern e Matcher, mas como selecionar lá no texto as ocorrências encontradas?

Já passei um bom tempo pesquisando no Google, em fóruns e até mesmo no javadoc mas não obtive sucesso. Agradeço quem ajudar.