很抱歉这么业余,我在一个框架上创建了一个“按钮”,这样当我们第一次点击按钮时,A ROW将被插入到框架上。但是我想要的是,当我点击按钮THE SECOND TIME时,行重新刷新(不创建新行!),我知道'.addRow(new Object [] {“”,“”,“”}) ;”是因为,因为每次单击按钮都会创建对象,那么我怎么可能修改代码呢?感谢您的关注。
*我的弱脑说,如果我只能清空'模型'对象(或者破坏对象,就像那样),那么我会找到解决方案,但我怎么可能清空/破坏那个'模型'对象呢?
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.DefaultTableModel;
public class MyTable extends JFrame {
private JTable table;
private DefaultTableModel model;
private JScrollPane scroll;
private JButton createRow;
private String headers[] = {"a", "b", "c"};
public MyTable() {
createRow = new JButton("Create Row");
model = new DefaultTableModel();
model.setColumnIdentifiers(headers);
table = new JTable();
table.setModel(model);
scroll = new JScrollPane(table);
add(createRow, java.awt.BorderLayout.NORTH);
add(scroll, java.awt.BorderLayout.CENTER);
createRowOn();
}
// while button is pressed then create A ROW
public void createRowOn() {
createRow.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == createRow) {
model.addRow(new Object[]{"", "", ""});
}
}
});
}
public static void main(String args[]) {
MyTable t = new MyTable();
t.setVisible(true);
t.setSize(300, 300);
}
}
答案 0 :(得分:5)
很抱歉这么业余
我在框架上创建了一个“按钮”,这样当我们点击按钮时 第一次,A ROW将被插入帧中。但是当我想要的时候 我点击第二次按钮,行清新(不是 创建一个新行!),我怀疑'new Object [] {“”,“”,“”}是 因为每次点击按钮都会创建对象,所以 我怎么可能修改代码?
如果您想:
,则不清楚问题(JTable中没有添加任何内容)添加新行(model.addRow)
删除所有行(setDataVector / setRowCount)
在JTables视图中重置值(setValueAt)
但是Oracle教程中描述了所有内容,其余部分位于DefaultTableModel