Ciao a tutti, scusate se disturbo ma ho un esame e ho un problema che non riesco a capire e quindi a risolverlo... mi serve un urgente aiuto!!![]()
Praticamente sto implementando la classe che dovrebbe cercare una stringa (una parola insomma) all'interno della tabella solo che non mi funziona per un errore che non capisco! Mi da un errore del tipo NullPointerException su due righe di codice ora vi mostro:
L'errore è questo:codice:public class SearchWordTable extends JPanel implements ActionListener{ private JTextField search = null; private Archivio<Risultati> ris; private int [] id ; private int cont = 0; private ErrorDialog dialog; private JTable tab; public SearchWordTable (JTextField searchTable, Archivio<Risultati> archivio, JTable tab) { super(); setLayout(new BorderLayout()); search = searchTable; ris = archivio; this.tab = tab; } private void searchWord(String text) { for (int i=0; i<ris.vecLength(); i++) { Risultati p = ris.getElement(i); if (p.getIdString().contains(text) || p.getNomeFile().contains(text) || p.getStringaTrovata().contains(text) || p.getStringaRimpiazzata().contains(text) || p.getPositionString().contains(text)) { id[cont] = p.getId(); cont++; } } cont = 0; } private void showDialog() { if (id.length == 0) dialog = new ErrorDialog("Non è stata trovata nessuna corrispondenza!!!"); else { dialog = new ErrorDialog("Sono state trovate "+id.length+" corrispondenze"); evidenziaRiga(id[0]); } } private void evidenziaRiga(int i) { tab.setRowSelectionInterval(i, i); } /** * * @param r */ public void setArchivio(Archivio<Risultati> r) { ris = r; } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub String text = search.getText(); searchWord(text); showDialog(); evidenziaRiga(1); } }
Le righe di codice che punta l'errore sono indicate in rosso nel codice, non capisco come mai il vettore di interi non dovrebbe puntare a niente ! Heeeeeelpcodice:Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at SearchWordTable.searchWord(SearchWordTable.java:35) at SearchWordTable.actionPerformed(SearchWordTable.java:68) at javax.swing.JTextField.fireActionPerformed(Unknown Source) at javax.swing.JTextField.postActionEvent(Unknown Source) at javax.swing.JTextField$NotifyAction.actionPerformed(Unknown Source) at javax.swing.SwingUtilities.notifyAction(Unknown Source) at javax.swing.JComponent.processKeyBinding(Unknown Source) at javax.swing.JComponent.processKeyBindings(Unknown Source) at javax.swing.JComponent.processKeyEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$000(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$2.run(Unknown Source) at java.awt.EventQueue$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

Rispondi quotando

