在Swing UI视图中更新表数据的问题
问题描述:
我在Netbeans中设计了一个用户界面,并且遇到了让我的某个表工作的问题。在它的数据时,我把这种方法不仅仅没有更新:在Swing UI视图中更新表数据的问题
public void UpdateTable() {
DefaultTableModel TableModel = new DefaultTableModel();
//(new Object[] { "ID", "Name", "Age" "Sex" "Address" "blah" }, 5)
TableView.setModel(TableModel);
for (Patient k : PatientList) {
String TableID = String.valueOf(k.getAccountNumber());
String TableName = k.getName();
String TableAge = String.valueOf(k.getAge());
String TableAddress = k.getAddress();
String TableSex = k.getSex();
String TablePhone = k.getPhone();
Object[] Col = { "Name", "Code", "age", "blah", "Who", "ghg" };
Object[] Data = { TableID, TableName, TableAge, TableAddress,
TableSex, TablePhone };
TableModel.addRow(Data, Col); //here
JTableHeader header = TableView.getTableHeader();
repaint();
}
System.out.println("Model Set");
TableView.setModel(TableModel);
}
的错误是对我评论了线发生的,我就如何解决这个问题完全糊涂了。
答
开始通过阅读Java Docs
一个创建使用DefaultTableModel
会像做一个“空”的表格模型的途径......
DefaultTableModel model = new DefaultTableModel(
new Object[]{"ID", "Name", "Age" "Sex" "Address" "blah"},
0);
这是非常重要的。您不希望模型中存在任何现有的行。
只有两个addRow
方法。
Object[] Data = { TableID, TableName, TableAge, TableAddress, TableSex, TablePhone };
model.addRow(data);
想要获取他们增加任何价值
摆脱第一TableView.setModel(TableModel);
和JTableHeader header = TableView.getTableHeader();
和repaint();
的我强烈建议你有How to use tables读取更多的信息
+0
+1,提示读取API。 @ user2165938当您只需要一个参数并且您提供了两个参数时,您希望该方法如何工作? – camickr 2013-03-14 02:23:45
如果需要双岗一问题,请大家帮忙,发布整个问题,不要让人们去寻找它。这个问题也是无关紧要的。您需要为我们提供一个可运行的示例,以便让我们高兴 – MadProgrammer 2013-03-14 00:15:11
我会建议来自前一个线程的用户在正确的轨道上。你是否需要创建一个新的模型,或者你只是想更新屏幕上已经显示的内容? – MadProgrammer 2013-03-14 00:18:36
使用标准的Java命名约定。变量名不能以大写字母开头。 – camickr 2013-03-14 02:17:35