如何在JTable中使用NETBEANS可视化GUI创建JTable时如何插入值以及如何在运行时增加行?
text_jTable = new javax.swing.JTable();
text_jTable.setFont(new java.awt.Font("Arial Unicode MS", 0, 11)); // NOI18N
text_jTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
"#", "Start Time", "End Time", "Duration", "Text"
}
) {
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
text_jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);
text_jTable.setColumnSelectionAllowed(true);
text_jTable.setEnabled(false);
text_jTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
text_jTable.getTableHeader().setReorderingAllowed(false);
jScrollPane1.setViewportView(text_jTable);
text_jTable.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
text_jTable.getColumnModel().getColumn(0).setResizable(false);
text_jTable.getColumnModel().getColumn(1).setResizable(false);
text_jTable.getColumnModel().getColumn(2).setResizable(false);
text_jTable.getColumnModel().getColumn(3).setResizable(false);
通过netbeans visual GUI创建JTable后,我无法了解如何在运行时增加行号。
答案 0 :(得分:4)
获取表格的表格模型,将其投放到DefaultTableModel,并使用其中一种addRow()
方法:
DefaultTableModel model = (DefaultTableModel) text_jTable.getModel();
model.addRow(theDataOfTheNewRow);
了解JTable如何工作以及其模型的作用至关重要。如果您不了解它生成的代码,以及如何使用它生成的组件,则不应使用可视GUI设计器。
swing tutorial是了解Swing如何工作的非常好(且免费)的资源。