Avrei risolto, ma ho un piccolo problema.
Questo è il codice del metodo che fa la ricerca del prodotto:
codice:
private void bFindProductActionPerformed(java.awt.event.ActionEvent evt) {
Product product = new Product();
product.setProductName(searchedProduct.getText());
bNewProduct.setEnabled(false);
Vector<Product> productVoices = DBConnection.searchProduct(product);
if (!productVoices.isEmpty()) {
//se ho ottenuto almeno un risultato carico la lista
modelProductList.clear();
disableProductButtons();
menuName.setText("");
productName.setText("");
int idMenu = 0;
for (int i = 0; i < productVoices.size(); i++) {
Product current = (Product) productVoices.get(i);
modelProductList.addElement(current);
idMenu = current.getMenuId();
}
productList.setModel(modelProductList);
for (int i = 0; i < modelMenuList.getSize(); i++) {
Menu current = (Menu) modelMenuList.getElementAt(i);
if (idMenu == current.getMenuId()) {
int currentId = modelMenuList.indexOf(current);
menuList.setSelectedIndex(currentId);
menuList.requestFocus();
}
}
} else {
JOptionPane.showMessageDialog(null, "Nessun prodotto trovato", "", JOptionPane.WARNING_MESSAGE);
searchedProduct.setText("Cerca...");
}
}
Funziona tutto, ma per motivi che al momento, dopo circa un'ora che ci sbatto la testa, continuo a ignorare, solo ed esclusivamente quando inserisco un nuovo menu e provo immediatamente dopo a fare una ricerca, mi sposta correttamente l'indice sul menu dove ha trovato il prodotto in questione, ma la lista dei prodotti non viene visualizzata. E non riesco proprio a capire perché, visto che nelle altre circostanze funziona!! Se elimino un menu, funziona, se modifico un menu funziona, solo quando ne inserisco uno nuovo e faccio *subito dopo* (cioè senza fare altre operazioni) la ricerca, ho questo problema.