###Swing JTextAreaでキャレットが初めにある行の文字列を取得する
題目通りです。
例えば、以下のような文章があるとします。ここでは二行目の始めにキャレットがあるとします。
肉を食べない君が死んだ。 |君は今日の朝、屋上から飛び降りた。 ←この行の初めにキャレットがある それは突然の出来事ではない。 君は朽ちてく花と同じように、ゆっくりと灰色に枯れ,そして散った。 君がクラスの自己紹介でこう言ったのを覚えている。
このとき、二行目の文だけを取得、つまり君は今日の朝、屋上から飛び降りた。
だけを取得したいです。
一応私が考えたのは、キャレットの位置を取得したあと、キャレットよりの下の改行コードの位置を取得し、その二つの位置に挾まれた文字列をとるというやりかたです。
しかし、この実装方法がわからないのと、もっと他のいいやりかたがあるとしたら知りたいということがあり質問させていただきました。
私の場合の実装方法でわからないこと、コードを一応下に記しておきます。
どうかご教授いただけたらありがたいです。
java
1String main = textArea.getText(); 2int start = textArea.getCaretPosition()//キャレットの位置を取得 3String lineCd = System.getProperty("line.separator");//改行コードを取得。 4int end = main.indexOf(lineCd, start);//キャレット以後にある、改行コードの位置を取得 5 6//二つの位置をとったはいいもののここからどう文字列をとればいいのかわからない 7String str=・・・
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/29 05:53