我想以swing形式从jtable中删除一行。

Jtable >>自动从Netbeans swing中拖动( Netbeans 8)
private javax.persistence.EntityManager entityManager;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private java.util.List<javaapplication1.Orders> ordersList;
private javax.persistence.Query ordersQuery;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;Jtable数据>>自动从MySQL数据库绑定
我只想从jtable中删除该行,而不是从数据库中删除该行。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int selectedRow = jTable1.getSelectedRow();
if(selectedRow!=-1)
{
try {
jTable1.remove(selectedRow);
jTable1.revalidate();
} catch (Exception e) {
e.getMessage();
}
}
} 发布于 2014-12-11 14:57:59
在这一行:
jTable1.remove(selectedRow);这个删除(int索引)方法不像你想的那样。它是从容器类继承的,用于从给定容器中删除组件。
相反,您需要使用TableModel并从其中移除选定的行。由于您使用的是马蒂斯 (NetBeans‘GUI ),那么附加到表上的表模型将是DefaultTableModel的一个实例,因此您可以这样做:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int viewIndex = jTable1.getSelectedRow();
if(viewIndex != -1) {
int modelIndex = jTable1.convertRowIndexToModel(viewIndex); // converts the row index in the view to the appropriate index in the model
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
model.removeRow(modelIndex);
}
}请看一看:
发布于 2016-12-16 17:36:48
与JTableBinding一起工作:
private JTableBinding<LpDetail, LpMaster, JTable> lpDetailListTableBinding;您可以直接在pojos上执行此操作:
protected void btnEliminarItemActionPerformed(ActionEvent e) {
int sustract = tb_DetLP.getSelectedRow();
if (sustract >= 0) {
selectedItem.setLpDetailList(org.jdesktop.observablecollections.ObservableCollections
.observableList(selectedItem.getLpDetailList()));
selectedItem.getLpDetalleList().remove(sustract);
}
}https://stackoverflow.com/questions/27425476
复制相似问题