問題: JTextPane でリッスンする CaretListener と DocumentListener があります。
JTextPane でどの行がキャレットであるかを判断できるアルゴリズムが必要です。ここに例を示します。
結果:3行目
結果:2行目
結果:4行目
また、アルゴリズムがキャレットが JTextPane のどの行にあるかを判断できる場合、かっこの間にあるものを画像としてサブストリング化するのはかなり簡単なはずです (キャレットは の文字m
にありますmetadata
)。
--
これは、JTextPane から取得したテキスト全体を文に分割する方法です。
String[] lines = textPane.getText().split("\r?\n|\r", -1);
内の文はtextPane
\n で区切ります。
問題は、キャレットを操作して、キャレットがどの位置とどの行にあるかを知るにはどうすればよいですか? キャレットのドットがどの位置にあるかは知っていますが、どの行にあるかはわかりません。キャレットの行がわかっていれば、lines[<line number>]
そこから文字列を操作できます。
要するに: CaretListener および/または DocumentListenerを使用して、キャレットが現在どの行にあるかを知り、その行を取得してさらに文字列を操作するにはどうすればよいですか? 助けてください。ありがとう。
さらに説明が必要な場合はお知らせください。御時間ありがとうございます。