gpt4 book ai didi

java - 更新当前的 JTable 模型

转载 作者:行者123 更新时间:2023-12-02 03:29:33 25 4
gpt4 key购买 nike

有没有办法更新 JTable 上当前的 DefaultTableModel?为了澄清我的意思,我将使用下面的一些代码示例。

您可以像这样声明 JTable

DefaultTableModel model = new DefaultTableModel(tableData, tableHeaders)
{
private static final long serialVersionUID = 8785594035471551113L;

@Override
public boolean isCellEditable(int row, int column)
{
return false;
}
};

JTable table = new JTable(model);
panel.add(table);

我问是否有办法做类似的事情

myTable.java

public class myTable extends JTable {
private static final long serialVersionUID = -5819940358496590055L;

public myTable(TableModel dM) {
setModel(dM);
}

public myTable(Object[][] tableData, Object[] columnHeaders) {
this(new DefaultTableModel(tableData, columnHeaders));
}

public void setEditable(boolean b) {
DefaultTableModel model = (DefaultTableModel) this.getModel();

//Do some code here to make the editable or uneditable

setModel(model);
}
}

someJavaFile.java

JTable table = new myTable(tableData, tableHeaders);
table.setEditable(false);
panel.add(table);

我并不是要求您为我执行此操作,而是要求您帮助我找到更新当前DefaultTableModel的方法。

感谢您的帮助

编辑以澄清

我正在尝试找到一种方法来操作 JTable 上的当前 DefaultTableModel ,例如表是否可编辑,因为没有方法支持在之后切换表是否可编辑模型已经制作完成。只有 isCellEditable()

为什么这会有用?

如果您想通过 JButton 或类似的东西上的 ActionListener 来操纵表格的工作方式,这将很有用

最佳答案

things such as whether the table is editable or not as there are no methods which support toggling whether the table is editable after the model has been made

您将需要提供自定义 TableModel。您可以通过扩展模型并添加几个方法来将此功能构建到 DefaultTableModel 中。

或者您可以查看Row Table Model .

除其他功能外,它还允许您使整个模型可编辑或不可编辑。您还可以控制各个列是否可编辑。

关于java - 更新当前的 JTable 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292087/

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