1
我知道這thread顯示了一種方法來做,但它導致我的情況下奇怪的行爲,我想知道是否沒有簡單方式來做到這一點。如何爲JTextArea行計數換行?
我需要知道設置文字後我的JTextArea
將具有的尺寸。以下是我目前的工作方式:
tarea.getLineCount() * tarea.getRowHeight();
它工作除非沒有換行。我想通過換行進行相同的計算。有沒有人知道什麼時候換行?這樣我只需要將當前行數加1。
編輯:
這裏是(可能)的溶液中,我發現。這幾乎是@camickr的this的複製粘貼。
int rowStartOffset = textComponent.viewToModel(new Point(0, 0));
int endOffset = textComponent.viewToModel(new Point(0, textComponent.getHeight()));
int count = 0; //used to store the line count
while (rowStartOffset < endOffset) {
try {
rowStartOffset = Utilities.getRowEnd(textComponent, rowStartOffset) + 1;
} catch (BadLocationException ex) {
break;
}
count++;
}
我做了幾個測試/無線包裝啓用,它似乎工作。
如果不進行編輯,使用多線'JLabel'。 –
有人會把你釘在十字架上:-) – mKorbel
@mKorbel有多嚴重?我做錯了什麼?但是,謝謝,我會考慮使用多行jlabel。 – nathan