Как проверить, что введенные мной данные не существуют в столбце jTable? - PullRequest
0 голосов
/ 24 февраля 2019

Итак, я создаю программу, которая будет искать в первом столбце jtable и узнает, есть ли там значение, если оно есть, оно будет выводиться в полях jTextFields ниже.Я понял их правильно, но я не знаю, как проверить, не существует ли введенные данные в текстовом поле поиска в jtable.Я хочу вывести joptionpane, если данные не существуют в этом столбце jtable.

Это мой код.

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);
}                        

1 Ответ

0 голосов
/ 24 февраля 2019

Хорошо ... поскольку ваши критерии поиска основаны на идентификаторе, если идентификатор равен нулю, сообщите пользователю, что ничего не найдено.

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.:)

...