gpt4 book ai didi

java - 如何将静态jtable限制更改为动态(静态对象数组更改为动态)

转载 作者:行者123 更新时间:2023-12-01 07:27:35 26 4
gpt4 key购买 nike

表限制的大小设置为静态限制,我想将其更改为动态

这里声明了 jtable 和对象。

    public  JTable issuetable = null;   
static Object[][] data;

这是我的 jtable

public  JTable getIssues() {
issuetable = new JTable();


String[] colName = {"Member", "Book", "Issue Date", "Return Date ",
"Remarks" };
List<Issue>issues=ServiceFactory.getIssueServiceImpl().findAllIssue();

问题数据的大小限制为 100000 ..我想将限制更改为动态..

    data=new Object[issues.size()][100000];

for(Issue issue:issues){

data[i][0]=issue.getMemberId().getName();
data[i][1]=issue.getBookId().getName();
data[i][2]=issue.getIssueDate();
data[i][3]=issue.getReturnDate();
data[i][4]=issue.getRemark();
data[i][5]=issue;
i++;
}

如果你知道答案,请在这里分享..

最佳答案

在您的 previous question 中,您使用的是 DefaultTableModel。请记住,TableModel 本身就是一种数据结构。无需将数据存储在两个数据结构中,即您的data[][]DefaultTableModelDefaultTableModel 的底层结构是 Vector 的动态 Vector

你能做的就是这个。只需使用此构造函数声明包含 0 行的 DefaultTableModel

然后只需使用

将行动态添加到结构中

所以基本上,你的声明将是这样的

String[] colName = {"Member", "Book", "Issue Date", "Return Date ", "Remarks" };
DefaultTableModel model = new DefaultTableModel(colName, 0);
JTable table = new JTable(model);

然后只需添加行

String member = "Stack";
String book = "overflow";
Data issueDate = date;
....
Object[] row = { member, book, issueDate, returnDate, remarks };
DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addRow(row);
<小时/>

请阅读DefaultTableModel api documentation查看更多可用的构造函数和方法

关于java - 如何将静态jtable限制更改为动态(静态对象数组更改为动态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21797434/

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