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

标签 java swing dynamic static jtable

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

这里声明了 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/

相关文章:

javascript - 自动列出具有异步加载的 require.js 依赖项以进行 r.js 优化

java - JPA Map<用户,字符串> 映射

java - StringBuffer对象问题

jquery - 使用 JQ 或 CSS 添加每个 X 元素的 div

Java Graphics2D 绘图字符串

JAVA - 从 Action 监听器调用时 JFrame 看起来不正确

c - 为什么 realloc 每次都失败?

java - 在函数中取任何数值原始数组

java - struts 1 form bean线程安全吗?

java - 从其他类控制 JComponent