gpt4 book ai didi

java - 如何防止选择 JTable 顶部新添加的元素?

转载 作者:行者123 更新时间:2023-12-01 16:56:06 24 4
gpt4 key购买 nike

我有一个包含一行的 JTable。我使用多重选择间隔作为选择模式,此外,执行 5 秒后将在表顶部插入新行。我的问题是:当我运行代码并选择第一行时,5秒后添加了一个新行(这是可以的),但我得到了两个我不想要的选定行,因为我需要保留旧的选择,这意味着添加新行后,仅选择第二行。如何使用多选间隔模式解决这个问题?这是我的代码:

   public static void main(String args[]) {
Object[][] rowData = { { "Hello", "World" }, { "By By", "World" } };
Object[] columnNames = { "A", "B" };
JFrame frame = new JFrame("Selecting JTable");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final DefaultTableModel model = new DefaultTableModel(rowData,columnNames);

JTable jtable = new JTable(model);
jtable.setSelectionMode(
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
JScrollPane scrollPane1 = new JScrollPane(jtable);
frame.add(scrollPane1, BorderLayout.CENTER);
frame.setSize(640, 300);
frame.setVisible(true);
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
model.insertRow(0, rowData[0]);
}

最佳答案

您可以在插入行后立即调用 removeRowSelectionInterval 方法。

类似于:

int newRowIndex = 0;
model.insertRow(newRowIndex, rowData[0]);
jtable.removeRowSelectionInterval(newRowIndex, newRowIndex);

关于java - 如何防止选择 JTable 顶部新添加的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61589308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com