私は、単語の代わりにブロック (JPanel) を持つ一種のエディターを作成しています (テキストのようなフローとカーソル - JPanel の点滅)。
次のような状況で、既存のコンポーネント間に Swing コンポーネント (新しいブロック) をすばやく追加する方法が必要です。
- JPanels間でマウスクリックしてカーソルをそこに置きます
- 既存の要素の間に新しいブロック要素を追加します。
問題は、ドキュメントの再構築 (.removeAll() および .add() すべてのブロック) が、300 ~ 400 ブロックを含むドキュメントで 3 ~ 4 秒かかることです。
各ブロックの間に空のブロックを挿入してそこにカーソルを配置することで、カーソルの配置を簡単に高速化できますが、既存のブロックの間に新しいクリーンなブロックが必要な場合はどうすればよいでしょうか?
独自の「レンダリング エンジン」を作成する方法があることは知っていますが、swing コンポーネントを使用すると、これをより簡単に実現できますか?