次のようなテーブルを作成したいと思います。
私は絵が十分に良いことを願っています。スクロールペインがアクティブ化されている場合、セルのみが移動し、ヘッダーとサブヘッダーはその場所にとどまります。JList または JTable でこれを行うにはどうすればよいですか? それとも別のコンポーネントがありますか?どうもありがとう
JListではなくJTableを使用することで、より簡単かつ可能になります。RowHeaderを参照してください。
1 つのアプローチは、3 つの異なるテーブルを持つことです。
セルをスクロールしてもヘッダーが固定されるようにするには、2 つのテーブルを作成します。1 つはヘッダーのみ (セルなし) を含み、JPanel のボーダー レイアウトの北の位置になります。JPanel の中央の位置にテーブルを含む JScrollPane を追加し、そのヘッダーを削除して、テーブルの表示ヘッダーが北の位置にあるテーブルのヘッダーになるようにする必要があります。
「サブヘッダー」の場合は、1 つの列とその列にヘッダー レンダラーを追加した別のテーブルが必要になります。そのテーブルは、JPanel の西の位置にある必要があります。
最後に、北のテーブルのヘッダーを中央のテーブルの列と同期する必要があるため、サイズを変更すると、他のテーブルの列も同様にサイズ変更されます。テーブルが並べ替え可能な場合は、西側のテーブルで同じことを行う必要があります。
より良いオプションは、JIDESoft の TableScrollPane を使用することです。これは、これらすべてを舞台裏で行いますが、有料です。
あなたの選択。