質問: 私はいまJavaFXでマークダウンエディターを作っていてMarkdown文章をMarkdown4jでHTMLに変換してWebViewに表示させてます。 ↓実際の画面 ![実際の画面](https://teratail.storage.googleapis.com/uploads/contributed_images/8210062d81c005dea1ef69eaca87871f.png) エディター(テキストエリア)のスクロールバーとプレビュー画面(WebView)のスクロールバーを、できるだけ精度を高く同期させようとしていて、とりあえずテキストエリアでスクロールされるたびに、スクロール量が全体の何%かをもとめてWebViewで反映させているのですが、ページの高さが高くなるほどちょっとズレてきて困っています。 そこで思いついたのが、**いままでの方法 + 現在書いてるところを表示させる**ということです。 ですが、現在書いているところの高さまでどうやってWebViewでスクロールさせればいいかわかりません。 そのほかにも何か、いい方法があれば教えてください。
回答: テキストエリア内のMarkdown文章を一行ずつHTMLに変換して、spanタグをつけて、そのspanタグのIDを行番号にする。 そして現在、キャレットがある行を求めて、`WebEngine`クラスの`executeScript()`でキャレットがある行の番号のspanタグにスクロールすれば、現在のキャレットがある位置にWebViewのページをスクロールできる。