簡體   English   中英

防止列繼續在JTable中刪除

[英]Preventing columns from moving on delete in JTable

我正在嘗試實現一個復選框界面,該界面允許用戶在JTable中顯示/隱藏列,但是當我刪除列時,該列似乎在移動位置,並且無法知道100%的列在哪里。 該表是使用以下代碼構建的:

DefaultTableModel model = new DefaultTableModel();
JTable table            = new JTable(model);
JScrollPane scrollPane  = new JScrollPane(table);

String[] columnNames = {"Artist","Track","Album","Genre","Year","Filetype"};

for (String column : columnNames) {
    model.addColumn(column);
}
table.createDefaultColumnsFromModel();
table.getTableHeader().setReorderingAllowed(false);

這是我用於實現復選框偵聽器的代碼:

if (e.getSource() == artist) {
    if (!artist.isSelected()) {
        table.removeColumn(table.getColumnModel().getColumn(0));
    } else {
        table.addColumn(table.getColumnModel().getColumn(0));
    }
}
if (e.getSource() == trackName) {
    if (!trackName.isSelected()) {
        table.removeColumn(table.getColumnModel().getColumn(1));
    } else {
        table.addColumn(table.getColumnModel().getColumn(1));
    }
}
/* etc */

您可以使用表列管理器

它將為您管理表格列的隱藏/顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM