-1

私はチャットクライアントで作業していますが、この問題があります: 私がしたいのは、JTextPane を 3 つの列に分割して、最初の列にユーザーの名前を表示し、2 番目の列にメッセージと日付を表示することです。第3。3 つの個別の JTextPane を作成してこれを実行しようとした後、それらのスクロールバーを同期しました。絵文字の挿入にどのように反応するかを見るまで、すべてが完全に機能しているように見えました。メッセージに複数行のコードがある場合、名前と日付の JTextPanes は新しい行を出力しましたが、顔文字の高さが異なり、名前と日付の JTextPanes がそれらに対応できませんでした。1行の場合、寸法(1px、絵文字の高さ)の空白の画像を挿入することで解決しましたが、それは行の1つに対してのみ機能します。私の質問に戻りましょう。私' 複数の JTextPanes がある場合の問題を修正する方法についてブレインストーミングを続けるつもりはありません。それを回避する別の方法はありますか?1 つの JTextPane だけでそれを行うことはできますか? これが 3 つの JTextPanes でどのように機能するかを示すスクリーンショットです。http://postimage.org/image/611z2807b/ 以下は、Eclipse で JTextPanes をどのように構成したかを示す図 です私のコードは数百行あり、質問の重要な行を取り出すだけでも時間がかかるため、SSCCE を提供しませんでしたが、本当に必要な場合は提供します。

4

3 に答える 3

2

ここで説明されているように、カスタム テーブルを追加できますhttp://java-sl.com/JEditorPaneTables.html

行のセルにコンテンツを配置する 3 列のテーブルを追加します。必要に応じて、非表示の境界線を設定することもできます。

于 2012-12-26T05:53:20.700 に答える
0

一部のJava SwingコンポーネントはHTML対応であるため、JComponent説明している方法でテキスト出力(およびおそらく入力?)をフォーマットできる.

多くのチャット クライアントでは、ユーザー名とメッセージが同じフィールドに出力されるため、ユーザー名とメッセージの両方を選択してコピーできます。

于 2012-12-25T17:37:07.670 に答える
0

たった 1 つJTextPane、または数個の . よりシンプルなアプローチを採用するよりも、しっかりとしたものにするために多くの作業を行うことになります。

あなたが提供した写真を見ると、GridLayout各列が上に垂直に配置された3列の完璧な使用法がわかります。

非常に長いチャットでパフォーマンスの問題が発生した場合はパフォーマンスを最適化できます。しかし、そこに着くまで心配しないでください。

于 2012-12-25T17:51:39.337 に答える