【问题标题】:How to check if the data I entered does not exist in the column of a jTable?如何检查我输入的数据是否不存在于jTable的列中?
【发布时间】:2019-07-17 18:59:18
【问题描述】:

所以我正在创建一个程序,它将搜索 jtable 的第一列并查找该值是否存在,如果存在,它将在下面的 jTextFields 中输出。我做对了,但我不知道如何检查 jtable 上是否不存在搜索文本字段中输入的数据。如果 jtable 的该列上不存在数据,我想输出一个 joptionpane。

这是我的代码。

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String value = jTextField1.getText();
    DefaultTableModel model = (DefaultTableModel) jTable1.getModel();

    for (int r = 0; r <= jTable1.getRowCount() - 1; r++){
        if (value.equals(jTable1.getValueAt(r, 0))) {
            jTable1.setRowSelectionInterval(r, r);
        } 
    }

    String ID = model.getValueAt(jTable1.getSelectedRow(), 0).toString();
    String Name = model.getValueAt(jTable1.getSelectedRow(), 1).toString();

    jTextField2.setText(ID);
    jTextField3.setText(Name);
}                        

【问题讨论】:

    标签: java netbeans jtable


    【解决方案1】:

    嗯...由于您的搜索条件似乎基于 ID,如果 ID 不等于任何内容,则通知用户未找到任何内容。

    String value = jTextField1.getText(); // Search Criteria.
    if (value.isEmpty()) {
        return;  // Search criteria is empty. Get outta here.
    }
    
    DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
    
    String id = ""
    String name = ""
    int r; 
    for (r = 0; r < model.getRowCount(); r++){
        // Does the current column cell match the search criteria?
        if (value.equals(model.getValueAt(r, 0))) {
            // Yes it does...
            id = model.getValueAt(r, 0).toString();    // Fill id variable
            name = model.getValueAt(r, 1).toString();  // Fill name variable
            jTable1.setRowSelectionInterval(r, r);     // Select JTable Row
            break;  // Break out of loop. Don't need it anymore.
        } 
    }
    
    // Search Item Not Found.
    if (id.equals("") { 
        JOptionPane.showMessageDialog(this, "Search Criteria (" + value + 
                                      ") Could No Be Found!", 
                                      "Item Not Found", JOptionPane.WARNING_MESSAGE);
        return;  // Get out of method.
    }
    
    // Search Item Was Found, Fill JTextFields...
    jTextField2.setText(id);
    jTextField3.setText(name);
    

    而且...我相信您已经了解 Java 命名约定。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2015-02-07
      • 1970-01-01
      • 2021-06-06
      相关资源
      最近更新 更多