gpt4 book ai didi

java - 在 JTable 中添加行

转载 作者:行者123 更新时间:2023-12-01 18:36:54 25 4
gpt4 key购买 nike

我正在尝试从数组插入动态行。我正在使用 Oracle 网站上给出的以下代码:

class mYModel extends AbstractTableModel
{
Object rowData[][] = { {Boolean.TRUE ,"11","OMF","C++","Jhon Doe",22}};
Object[] arr = new Object[5];

String columnNames[] = {
"Action",
"Pages",
"Name",
"Title",
"Author",
"TimeStamp"
};

public int getColumnCount() {
return columnNames.length;
}

public String getColumnName(int column) {
return columnNames[column];
}

public int getRowCount() {
return rowData.length;
}

public Object getValueAt(int row, int column) {
return rowData[row][column];
}

public Class getColumnClass(int column) {
return (getValueAt(0, column).getClass());
}
@Override
public void setValueAt(Object value, int row, int column) {
rowData[row][column] = value;
}
@Override
public boolean isCellEditable(int row, int column) {
return (column == 0);
}
}

我希望 rowData[][] 动态获取值而不是初始化它。我不习惯 Java,所以无法掌握这样做的想法。

我对使用 AbstractModel 并不是特别感兴趣,如果有其他方法,那么非常欢迎指导我。

最佳答案

您可以使用列表之类的东西,而不是使用固定大小的数组:

Object rowData[][] = { {Boolean.TRUE ,"11","OMF","C++","Jhon Doe",22}};

ArrayList<Object[]> rowData;

等等。然后要添加一行,您需要执行 rowData.add( stuff ) 。您必须转换所有方法以引用行的大小等。

但更有可能的是,根本不使用它,而是使用类似 DefaultTableModel (或其他一些表模型实现)的东西,而不是这样的数组:

http://docs.oracle.com/javase/6/docs/api/javax/swing/table/DefaultTableModel.html

关于java - 在 JTable 中添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21589073/

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