1

たとえば、3 つの列ヘッダーがあり、2 つの列のみを表示し、3 番目を非表示にするテーブルを作成したいと考えています。

最後の列は固定されており、ほとんどのアプリケーションがクリックしてポップアップ メニューを表示するように、列を非表示/表示するために使用されます。

乾杯

おそらく私は明確に説明していませんでした。removeColumn/addColumn は知っています。テーブルのヘッダーをクリックすると、列を追加したり削除したりできます。しかし、私が興味を持っているのは、テーブル ヘッダーの右隅にある専用の列ヘッダーです。これは固定され、幅が小さく、説明的なテーブルのようなアイコンが付いています。したがって、この列ヘッダーをマウスで左クリックすると、列を非表示/表示するためのポップアップ メニューが表示されます。この列ヘッダーには実際には列や行はありませんが、JDownloader のようにヘッダーがあります。

4

3 に答える 3

4

あなたが見た、JTableメソッド

これら 2 つの方法は非表示/表示のみでJTables Column(s)、データは引き続きTableModel

于 2012-06-04T16:29:00.503 に答える
3

JXTableSwingXは、ポップアップで列を表示/非表示にするための UI が組み込まれています (残念ながら、その画像は見つかりませんでした)。

もちろん、提案された方法を使用してこれを自分で作成できますが、車輪を再発明する理由

于 2012-06-04T18:31:51.957 に答える
2

これを行うには、次の 2 つの方法があります。

正しいアプローチ:

テーブルから列を削除します

TableColumn lastColumn = table.getColumnModel().getColumn(lastIndex);
table.removeColumn(lastColumn);

これをしないでください:

最後の列の幅を 0 に設定します。

table.getColumnModel().getColumn(lastIndex).setPrefferedWidth(0);
table.getColumnModel().getColumn(lastIndex).setMaximumWidth(0);
table.getColumnModel().getColumn(lastIndex).setMinimumWidth(0);
于 2012-06-04T16:26:41.153 に答える