Java 为什么表中只显示第一个元素 包ferramenta.database.transaction.command; 导入ferramenta.database.transaction.*; 导入ferramenta.database.transaction.d
为什么表中只显示第一个元素Java 为什么表中只显示第一个元素 包ferramenta.database.transaction.command; 导入ferramenta.database.transaction.*; 导入ferramenta.database.transaction.d,java,database,swing,vector,jtable,Java,Database,Swing,Vector,Jtable,为什么表中只显示第一个元素 包ferramenta.database.transaction.command; 导入ferramenta.database.transaction.*; 导入ferramenta.database.transaction.dao.*; 导入javax.swing.table.DefaultTableModel; 导入java.util.*; /** *@作者 * */ 公共类RicercaProdotto实现Ricerca{ private ProdottoDAO
包ferramenta.database.transaction.command;
导入ferramenta.database.transaction.*;
导入ferramenta.database.transaction.dao.*;
导入javax.swing.table.DefaultTableModel;
导入java.util.*;
/**
*@作者
*
*/
公共类RicercaProdotto实现Ricerca{
private ProdottoDAO prodotto=新的ProdottoDAOImpl();
私有向量myData=新向量();
受保护向量vector1=新向量();
受保护向量vector2=新向量();
@凌驾
public void search(如果我放置Vector myData=new Vector(),则列表);在for循环内部它是有效的
-你已经知道答案了为什么如果我把for循环放在外部我会遇到这种情况?对我来说很奇怪,如果你只创建了一个myData
的实例并不断向其中添加数据,然后多次将同一实例添加到tableModel
,那么你所有的行都包含相同的数据。好的,我修复了吗如果我把Vector myData=newvector()放进去,谢谢你;在for循环内部它是有效的
-你已经知道答案了为什么如果我把for循环放在外部我会遇到这种情况?对我来说很奇怪,如果你只创建了一个myData
的实例并不断向其中添加数据,然后多次将同一实例添加到tableModel
,那么你所有的行都包含相同的数据。好的,我修复了吗d谢谢你
package ferramenta.database.transaction.command;
import ferramenta.database.transaction.*;
import ferramenta.database.transaction.dao.*;
import javax.swing.table.DefaultTableModel;
import java.util.*;
/**
* @author
*
*/
public class RicercaProdotto implements Ricerca {
private ProdottoDAO<Prodotto> prodotto = new ProdottoDAOImpl();
private Vector<String> myData = new Vector<String>();
protected Vector<String> vector1 = new Vector<String>();
protected Vector<String> vector2 = new Vector<String>();
@Override
public void search(List<? extends Prodotto> lista, DefaultTableModel tableModel) {
for(Iterator<? extends Prodotto> it = lista.iterator(); it.hasNext();) {
//Vector<String> myData = new Vector<String>();
Prodotto barcode = it.next();
String valore = barcode.getBarcode();
List<Prodotto> tmp = prodotto.selectProduct(valore);
Prodotto p = tmp.get(0);
System.out.println(myData.size());
myData.add(p.getBarcode());
myData.add(p.getModello());
myData.add(p.getDescrizione());
myData.add(Integer.toString(p.getQuantitativo()));
myData.add(Double.toString(p.getPrezzo()));
System.out.println(myData.size());
tableModel.addRow(myData);
}
}
}