Swing 无法清除JList Java
我正在使用NETBEANS 7。我在我的项目中有一个JList。这是我的密码Swing 无法清除JList Java,swing,jlist,Swing,Jlist,我正在使用NETBEANS 7。我在我的项目中有一个JList。这是我的密码 private void dateChooserSelectedDatePropertyChange(java.beans.PropertyChangeEvent evt) { DefaultListModel model = new DefaultListModel(); listSerial
private void dateChooserSelectedDatePropertyChange(java.beans.PropertyChangeEvent evt) {
DefaultListModel model = new DefaultListModel();
listSerialNo = new JList(model);
UpdatePurchase updatePurchase = new UpdatePurchase();
Vector<String> serialNo = new Vector<String>();
serialNo = updatePurchase.getSerialNo(date);
if(serialNo.size()>0){
listSerialNo.setListData(serialNo);
}
else{
model.clear();
this.resetFields();
}
}
然后列表中填充了vector serialNo中的一些数据
我的问题是:
基本上,我无法清楚jList的内容。请引导我。谢谢。方法
setListData
实际上取代了JList
的数据模型。因此,不清除当前列表模型,而是清除最初指定的(不再使用的)列表模型。因此,不要使用setListData
,而是直接将新元素添加到原始模型中。方法setListData
实际上替换了JList
的数据模型。因此,不清除当前列表模型,而是清除最初指定的(不再使用的)列表模型。因此,不要使用setListData
,而是直接将新元素添加到原始模型中。您可能已经添加了一个可见的JList组件。在代码中,您创建了一个新字段,同时覆盖了包含旧字段的字段。因此,您失去了与旧的(可见的)连接。通过更新新版本,当您更新错误版本时,任何可见内容都不会改变
通过删除这两行,您不再创建新的JList,而是在更新正确的JList
因此,为什么不删除这两行代码,因为根据您的帖子,这两行代码似乎有效。您可能已经添加了一个可见的JList组件。在代码中,您创建了一个新字段,同时覆盖了包含旧字段的字段。因此,您失去了与旧的(可见的)连接。通过更新新版本,当您更新错误版本时,任何可见内容都不会改变 通过删除这两行,您不再创建新的JList,而是在更新正确的JList 因此,为什么不删除这两行呢?因为根据你的帖子,这两行似乎很有效。试试这个-
listSerialNo.setListData(new Vector());
这将使用空向量对象重新设置列表数据
因此,所有列表数据都将被删除。试试这个-
listSerialNo.setListData(new Vector());
这将使用空向量对象重新设置列表数据
因此,所有列表数据都将被删除。对于解决方案,您最好查看Howard的答案,因为它更好。可能是我们两个答案的混合。我不知道OP每次都在创建一个新的
JList
。因此,这也可能是一个可能的麻烦来源。对于解决方案,你最好看看霍华德的答案,因为它更好。也许它是我们两个答案的混合。我不知道OP每次都在创建一个新的JList
。所以这也可能是一个可能的问题源;但它给我的错误是“找不到方法clear()”。我不知道发生了什么…@appDev抱歉,是我的错。该模型根本没有明确的方法。然后你必须使用第二种方法,或者完全重置模型。你能告诉我应该做什么吗。因为我是java开发者的新手。我完全不明白这件事。我将行更改为listSerialNo.getModel().clear();但它给我的错误是“找不到方法clear()”。我不知道发生了什么…@appDev抱歉,是我的错。该模型根本没有明确的方法。然后你必须使用第二种方法,或者完全重置模型。你能告诉我应该做什么吗。因为我是java开发者的新手。我完全不明白这件事。listSerialNo.setListData(新字符串[0])也可以使用,而且可能是现在的首选,因为Vector是一个“过时”的JDK类。listSerialNo.setListData(新字符串[0])也可以使用,并且可能是现在的首选,因为Vector是一个“过时”的JDK类。