私は、ユーザーがネットワーク上で共有ドキュメントに入力するアプリケーションを作成しています。 問題の1つは、他のユーザーが入力している回線をブロックすることです。 これを行うには、回線の変更をチェックするDocumentListener
があります。ユーザーが新しい行に正常に移動すると(その行が使用されていないことを意味します)、リスナーはその行が現在使用されていることを他のユーザーに通知します。ブロックされた行を格納するためのコレクション
DocumentFilter
は、許可する前にその行がブロックされている場合に編集が行われるたびにチェックします。
ここで私の懸念事項の1つは、行番号を格納するのにどのようなコレクションが最適かということです。コレクションはちょうどInteger
を保持します。行がブロックされると、その行にその行が追加されます。 DocumentFilter
が回線が利用可能かどうかをチェックする必要があるとき、そのリストを通過します。また、その行を使用していたユーザーが新しい行に移動すると、別のメッセージが送信され、その行がユーザーのコレクションから削除されます。
ArrayList
はおそらく十分ですが、誰かが違うと思うかもしれないと思っています。
ユーザーは、テーブルと同様に行を追加することはできません。行は最後に追加するだけで問題にはなりません。しばらくしてから回線を解放することは、その点を考慮する必要があります。 – Giannis