質問

私はJTextAreaには、最後の行は、(テキストエリアの高さを提供できること)に達したときに(垂直拡張)自体のサイズを変更したいとユーザーが新しい行を開始したいと考えています。あなたはMSWordの中にテキストボックスのように、知っています。

私はJTextAreaにの新しい高さをgetLineCount()を使用し、(必要であれば)を決定するためのアイデアを持っています。あなたが持っている、またはこれを実装するためのアプローチより良いのを知っていますか?

役に立ちましたか?

解決

テキストのすべての行が表示されるので、

は実際には、JTextAreaは常に正しいサイズを有します。あなたが経験することで、JScrollPaneでテキストエリアをラップすることをおそらくです。ただ、スクロールペインを省略し、テキスト領域にコンテナの直接の子を作ります。

別の解決策は、それに応じてテキストエリアとサイズのイベントにスクロールペインのサイズを変更するために聞くことです。この方法で、あなたは一定の大きさに成長し、その後、(誰かがテキストエリアにテキストの500キロバイトを貼り例えば、)表示のスクロールバーを開始することができます。

他のヒント

私は同じ問題を抱えていました。私のテストから、私はJTextAreaには、動的にサイズを設定することを信じていません。代わりに、その大きさは、そのコンテナ(私の場合のJPanel)によって制限されているようです。しかし、JTextAreaには、それが含まれているテキストに基づいてその推奨サイズを変更しません。ドキュメントから:

  

java.awt.TextAreaのが好ましいサイズを決定するために使用される2つのプロパティの行と列を有しています。 JTextAreaのはjava.awt.TextAreaのによって提供される機能と一致するようにJScrollPaneの内部に配置されたときに、ビューポートの望ましいサイズを示すために、これらのプロパティを使用します。 JTextAreaには、それが適切に内部側JScrollPaneの機能ように、すべてのテキストを表示するために必要とされるものの推奨サイズを持っています。行または列の値がゼロに等しい場合、その軸に沿った好ましい大きさは、同じ軸に沿ったビューポートの適切なサイズのために使用されます。

私はJScrollPaneのにJTextAreaのを入れて、JTextAreaにの推奨サイズを設定し、同じ問題を抱えていた、と私はそれが問題の原因だと考えています。

適切なソリューションをJScrollPaneのにJTextAreaのを置くことである、とJTextAreaの好ましいサイズ、設定にJScrollPaneの代わります。

にタッチしないように

JTextAreaにに移動 "のプロパティの" - チェックリスト "のlineWrapの"。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top