2

それで、私はこのテキスト編集プログラムを持っています。これは、完成するフォームとして設定されています。

プログラムのエディター部分を作成する方法がわかりません。一方では、JTextArea のおかげで、入力されたテキストの量 (ワードラップが有効になっているなど) に応じて展開および縮小できるように、ある種のレイアウトがあればいいと思います。

ただし、私のドキュメントは一連の質問 (およびいくつかの回答) で構成されています。質問 (JTextArea) および回答 (JTextArea) の行数は、質問ごとの回答数と同様に可変です。

私の編集領域はページの列 (必要に応じて追加および削除されます) で構成されており、特定の質問がページの境界 (または正確にはその余白) の外に出たときを何らかの形で検出する必要があります。

最終的には、ある種の半固定レイアウト マネージャーが必要になります。JTextAreas を setPreferredSize でサイズ変更可能にする一方で、他の何かを追加するとページの美的外観が損なわれるポイントまでページがいっぱいになる状況が検出され、プログラムは次のページに移動します。

心に留めておくべきことの 1 つは、必ずしも最後ではなく、ユーザーがドキュメント内の質問全体といくつかの回答を追加/削除できるようにすることです。

(全体は、ドキュメントをユーザーに提示する(そして編集可能にする)ためだけに使用され、後でPDFとしてエクスポートされますが、それはまったく別の話です)

JTextAreasを使用する必要さえありません(もっと良いものがあれば)、あらゆる種類の外部Javaライブラリを提案できます。それを機能させたいだけです...

4

1 に答える 1

2

高さを検出して、固定幅のJEditorPaneのコンテンツを表示できます http://java-sl.com/tip_text_height_measuring.html

したがって、許可された高さが達成されているかどうかを段階的に測定して、コンテンツを追加します。達成したら、新しいページを作成します。

または、ページ付けを使用してJEditorPaneにすべてのコンテンツを追加することもできます(http://java-sl.com/articles.htmlで説明されています) 。

于 2012-08-20T07:22:26.157 に答える