gpt4 book ai didi

java - 从 jtable 中删除行

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:29 26 4
gpt4 key购买 nike

我想以 swing 形式从 jtable 中删除一行 enter image description here

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数据库自动绑定(bind)

我只想从 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();
}

}
}

最佳答案

在这一行:

jTable1.remove(selectedRow);

remove(int index)方法不做你认为它做的事。它继承自 Container类,它旨在从给定容器中删除组件。

相反,您需要使用 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);
}
}

请看一下:

关于java - 从 jtable 中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27425476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com