1

保存したファイルに入力したテキストを保存するプログラムを作成してJTextAreaいます。問題は、を使用するsetWrapStyleWord()と、テキストが新しい行に折り返されるときに改行が作成されないことです。したがって、ファイルに印刷されるテキストは1行になります。

改行を挿入できるように改行を検出する方法はありますか、または改行が発生する場所に改行を追加する方法はありますか?

4

3 に答える 3

3

使用するjavax.swing.text.Utilities

public static final int getRowStart(JTextComponent c, int offs)
public static final int getRowEnd(JTextComponent c, int offs)

JTextAreaあなたと前の行のオフセットを渡します

于 2012-08-17T06:11:10.987 に答える
2

このコンテキスト依存。つまり、JTextAreaBrianRoachがすでに述べたように、のサイズに応じて、単語の区切りが変わります。

ただし、本当に決心している場合は、を使用してそれを理解できる可能性がありますLineBreakMeasurer

この例をチェックしてください

于 2012-08-17T06:02:19.700 に答える
0

単語ではなく文字でラップする場合は、次のことができます。

でモノスペース フォントを使用している場合は、後で文字列を処理して、すべての文字数の後JTextAreaに を追加できます。ここで、 はテキスト領域の 1 行を埋める文字数です。\nxx

このアイデアをワードラップに適用するには、文字列をループするだけで、この回答へのコメントで示唆されているように、空白で発生するように改行を追加します。

于 2012-08-17T04:45:25.600 に答える