线条缠绕Jtextarea Java



我的JTextArea具有固定尺寸,允许JTextArea包装线条和单词。

我试图在JTextArea破坏行之前获得最后一句话。

有办法获得它吗?

我已经尝试使用lineCount()getStartOffset()getEndOffset()getRows()。我知道我的文字有多长时间,有多少个字符。lineCount总是return 1

我正在考虑更改以获取JTextArea的可能长度,或者在字符串中找到休息信息,但没有任何方法。

有人有一个想法吗?

这是一些未经测试的代码,可以给您一个想法。

由于您知道文本区域的大小,因此可以使用文本区域的模型/视图方法获取文本。

int width = textArea.getSize().width;
int height = textArea.modelToView(0).height / 2;
int offset = textArea.viewToModel( new Point(width, height) );
int start = Utilities.getPreviousWord( offset );  // or maybe getWordStart(...)?
int end = Utilitities.getWordEnd( start );
String text = textArea.getText(start, end - start);

按空格字符将字符串分开,然后找到数组的最后一个元素。一个简单的例子:

String myString = "foo bar foo bar";
String[] stuff = myString.split(" ");
String last = stuff[stuff.length-1];

"最后"字符串的结果将是" bar"。

编辑:如果您遇到问题,请通过以下方式分开以下评论的链接也应该有用:p>

相关内容

  • 没有找到相关文章

最新更新