gpt4 book ai didi

java - JTable 添加新行

转载 作者:行者123 更新时间:2023-12-01 05:33:38 25 4
gpt4 key购买 nike

我在设计时有一个包含 5 行的 JTable。现在我必须动态添加更多行。当我添加更多行时,出现数组超出绑定(bind)异常错误。我该如何解决这个问题?

item_list = new javax.swing.JTable();  
item_list.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"No.", "Description", "Cost"
}
) {
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.String.class, java.lang.Float.class
};

public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
item_list.getColumnModel().getColumn(0).setPreferredWidth(30);
item_list.getColumnModel().getColumn(1).setPreferredWidth(100);
item_list.getColumnModel().getColumn(2).setPreferredWidth(50);
jScrollPane2.setViewportView(item_list);

最佳答案

这对我有用

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;

public class Grow extends JFrame {

private static final Object[][] rowData = {{"Hello", "World"}};
private static final Object[] columnNames = {"A", "B"};

private JTable table;
private DefaultTableModel model;

public Grow() {
Container c = getContentPane();
c.setLayout(new BorderLayout());

model = new DefaultTableModel(rowData, columnNames);
table = new JTable();
table.setModel(model);
c.add(new JScrollPane(table), BorderLayout.CENTER);
JButton add = new JButton("Add");
c.add(add, BorderLayout.SOUTH);
add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
model.addRow(rowData[0]);
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}

public static void main(String[] args) {
Grow g = new Grow();
g.setLocationRelativeTo(null);
g.setVisible(true);
}
}

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

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