我已经搜索了几个小时,但一直找不到任何简洁明了的解决方案来向 Java 中的表模型动态添加列/元素。也许我是一个糟糕的研究员,我不知道。这让我很沮丧,我已经阅读了两本不同的书,但在这个主题上一无所获。我掠夺了谷歌庞大的数据库,但没有发现任何用处。我已经找到了一些添加行的“解决方案”,但它们看起来不太好。我希望能够动态插入行和列。 我已经投入了 5 杯茶和大部分的精神稳定性来寻找这个解决方案,但没有成功。
我在想这样的事情:
rageTableModel.addColumn("No need to be upset anymore!");
rageTableModel.addRow("No need to be upset anymore!");
也许我的挣扎有一些越来越简单的解决方案,但我似乎无法自己找到它。我是 Java 的新手(2-3 个月的经验),所以我的知识似乎并没有涵盖那么远。任何帮助将不胜感激。
编辑:我看到这个“addColumn”方法无处不在,我正试图在我的 AbstractTableModel 的对象上使用它;没有胜利。我在文档页面上没有看到任何提及此方法的内容。 http://docs.oracle.com/javase/7/docs/api/javax/swing/table/AbstractTableModel.html
最佳答案
以下代码对我来说效果很好。如果您已经实现了自己的表模型,则它可能无法正确触发通知。
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class TableTest {
public static void main(String[] args) throws InterruptedException {
JFrame f = new JFrame();
DefaultTableModel m = new DefaultTableModel();
JTable t = new JTable(m);
f.add(new JScrollPane(t), BorderLayout.CENTER);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
m.addColumn("A");
m.addRow(new String[]{"A1"});
Thread.sleep(1000);
m.addColumn("B");
m.addRow(new String[]{"A2", "B2"});
}
}
关于java - 是否有一个简单的解决方案可以将列和可编辑行动态添加到 Java 中的表模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11940305/