- PR -

JTextPaneでテキスト行数を取得したい

1
投稿者投稿内容
えなし
会議室デビュー日: 2005/08/27
投稿数: 2
投稿日時: 2005-10-04 14:28
javax.swing.JEditorPaneや、同JTextPaneで、表示中のテキストの行数を取得するために、何か良い方法はないものでしょうか?
JTextAreaなどと違って、直接行数を取得できるメソッドが見当たらないようです。どなたか詳しい方、お知恵をお貸し下さい。
えなし
会議室デビュー日: 2005/08/27
投稿数: 2
投稿日時: 2005-10-05 15:35
 自己完結です。
 次のようなメソッドを設けました。
 
 editPaneが文書編集用のJTextPane、
 rowDocが行番号用のJTextPane/Document
 
 です。
 
  /**
* テキストエディタ行番号の可視/不可視を切り替える。
* @param b 可視/不可視
*/
public void setRowNumbersVisible(boolean b) {
try{
if(b == true){
StringBuffer numbers = new StringBuffer();
int RoomRowCount = editPane.getHeight() /
editPane.getFont().getSize();

for(int n = 0; n < RoomRowCount; n++){
numbers.append(n);
numbers.append("\n");
}
rowDoc.insertString(0, numbers.toString(),
rowDocsc.getStyle(StyleContext.DEFAULT_STYLE));

}else{
rowDoc.remove(0, rowDoc.getLength());
}
}catch(BadLocationException e){
e.printStackTrace();
}
}

 だいたい、良いようです。
1

スキルアップ/キャリアアップ(JOB@IT)