Wildcards Java

0

Mam pytanie. Zrobiłem wyszukiwanie w tabeli JTable słowa wpisanego w jTextField.
I problem polega na tym, kod ten znajduje dokłanie taki sam tekst . A Jak zrobić wyszukiwanie typu Wildcard ?
że wpisze np 4 pierwsze litery np ( wpisze w jTextField brow i zaznaczy mi w tabeli wiersz "browar"

kod :

 String b = jTextField1.getText();
        for(int i=0;i<jTable2.getRowCount();i++) {
        for(int j = 0; j < jTable2.getColumnCount(); j++){
        if (jTable2.getValueAt(i, j).equals(b)) { 
        jTable2.changeSelection(i, j, true, false);
      }
      }
      }
0

nie znam sie ale na logike skoro szukasz wpisując słowo 4 literowe to niech przeszukuje patrząc na pierwsze 4 litery.

2

Dla stringów zobacz sobie metode contains.

3

Jeżeli chcesz wyszukiwać po początku, to zamiast "equals" użyj "startsWith".

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#startsWith%28java.lang.String%29

0

Faktycznie metodą contains można to zrobić tylko nie bardzo rozumiem jak to działa, analogicznie po przeczytaniu dokumentacji dodałem linijkę drugą b.contains(b); i wywala błędy ;/

 String b = jTextField1.getText();
        b.contains(b);
        for(int i=0;i<jTable2.getRowCount();i++) {
        for(int j = 0; j < jTable2.getColumnCount(); j++){
        if (jTable2.getValueAt(i, j).equals(b)) { 
        jTable2.changeSelection(i, j, true, false);
      }
      }
      }
0

Cały kod odpowiedzialy za wyszukiwanie. Model Tabeli mam standardowy (DefaultTableModel), Tabela jest wypełniona danymi typu Object.

 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String b = jTextField1.getText();
        for(int i=0;i<jTable2.getRowCount();i++) {
        for(int j = 0; j < jTable2.getColumnCount(); j++){
        if (jTable2.getValueAt(i, j).equals(b)) { 
        jTable2.changeSelection(i, j, true, false);
      }
      }
      }
    }                  

1 użytkowników online, w tym zalogowanych: 0, gości: 1