您好,我有一个 JTextArea 和 I txtResult.setWrapStyleWord program (true);
,还有一个从 JTextArea 获取数据的报告。
我希望每个自动 JTextArea 换行,然后添加一个新行\ n
,所以在我的报告中具有相同的文本对齐。
请帮忙,谢谢:)
您不应将“\n”插入文本区域。相反,当您想要保存文本时,您应该创建一个辅助方法来执行此操作。代码将类似于:
public String formatText(JTextArea textArea)
{
StringBuilder text = new StringBuilder( textArea.getText() );
int lineHeight = textArea.getFontMetrics( textArea.getFont() ).getHeight();
Point view = new Point(textArea.getWidth(), textArea.getInsets().top);
int length = textArea.getDocument().getLength();
int endOfLine = textArea.viewToModel(view);
int lines = 0;
while (endOfLine < length)
{
int adjustedEndOfLine = endOfLine + lines;
if (text.charAt(adjustedEndOfLine) == ' ')
{
text.insert(adjustedEndOfLine + 1, '\n');
lines++;
}
view.y += lineHeight;
endOfLine = textArea.viewToModel(view);
}
return text.toString();
}