2012-03-17 8 views
1

Skypeを再作成しようとしていますが、SkypeはSwingコンポーネントを使用してインスタントメッセージを処理しています。私はリスト内の各セルをレンダリングするカスタムListCellRendererでJListを使用しています。 ListCellRendererはJPanelを継承し、JPanelにはラベル(ユーザー名を入れる場所)とユーザーのメッセージが表示されるJTextAreaが含まれています。 JTextAreaはImに何の問題があるのです。 SwingでSkypeの会話パネルを再作成しようとしています

  • アイブ氏は、自動的にNetBeansでテキストエリアが付属してスクロールを削除 -

    は、ここで私は瞬間を持っているものの画像です。

  • この画像には、ナビゲータ、デザインビュー、実際のプログラム(リストには2つの要素があります)が表示されています。

enter image description here

  1. テキストエリア内のテキストがはるかに長く、この画像よりも実際にあるが、それはワードラップではありません。このテキストエリアのプロパティボックスでlineWrapとwrapStyleWordをtrueに設定しましたが、何の効果も得られないようです。私はその後、プロパティボックスを使って最大サイズを設定しようとしましたが、それは効果がありません。

  2. netbeans gui designerを使用して、コンポーネントの周囲の余白/余白を制御する方法はありますか。コンポーネント間の間隔を自動的に設定すると、数ピクセルが小さすぎたり、大きすぎたりすることがあります。リストのセルコンポーネントに正確な配置が必要です。ここでは参考のため

(としてのthats、私は私のプログラムでそれをやっているだろうか赤い「ブライアン・CS」さんで追加アイブ)どのようにSkypeのconvesationパネルルックスです。あなたが見ることができるように、文が折り返して、セルの間に適切な量のスペースがあります。誰でもSwingを使ってこれを達成する方法を知っていますか?

enter image description here

+0

setLineWrap(true)を試しましたか? ? – Java42

+1

JListではなく、カスタムレンダラーでJTableを使用します。 –

+1

マークアップの使用も検討します。 JLabelはHTMLを受け入れ、ラインラップを強制します。何かのような - > setText( "" +テキスト+ ""それはまた、Skypeがリッチテキストを持っているかどうか思い出すことができません)また、コンポーネントの最小/最大/推奨サイズを設定します。レイアウトを強制するのに役立ちます。JTableは、レンダリングをしている場合は作業がはるかに簡単です。長い会話では、レンダリングで最適化が必要になります。 –

答えて

0

JTextAreaには問題ではありません。 JListは各行の高さを設定します。 JList.setFixedCellHeigthまたはsetPrototypeCellValueを参照してください。

関連する問題