[英]Refresh a jTable
我似乎无法刷新我的桌子。 我创建了一个刷新按钮,调用jTable1.repaint();
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt)
// Reader Refresh
jTable1.repaint();
}
我还尝试过再次在诸如RegistryValues.arp(null);
类的按钮中再次调用RegistryValues
RegistryValues.arp(null);
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt)
// Reader Refresh
RegistryValues.arp(null);
}
还尝试将注册表值组合并在按钮中重新绘制。
以下是我的jTable
的代码。 如果重要的话, RegistryValues
来自另一个使用JNA读取注册表的类。
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{"Protected Mode at Startup", RegistryValues.arp(null)},
{"Display PDF in browser", RegistryValues.arb(null)},
{"EULA Accepted?", RegistryValues.are(null)},
{null, null}
},
new String [] {
"Software", "Status"
}
));
都没有
jTable1.repaint();
要么
RegistryValues.arp(null);
实际上将使用新值刷新表。 为此,您需要在ActionListener中更新当前表模型或设置新模型。
当使用可变的DefaultTableModel时 ,可以为模型创建一个更新帮助器方法。
就像是:
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.setValueAt(RegistryValues.arp(null), 0, 1);
// set more row data, etc.
注意:您可以将模型另存为类成员变量,而无需进行转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.