如何从JList获取3个单独的字符串?如果我使用model.elementAt
我得到了字符串,但它们并没有相互分离。
while(resultaat.next()){
model.addElement(resultaat.getString(1) + " "
+ resultaat.getString(2) + " "
+ resultaat.getString(3));
}
我使用该行代码将一串字符串添加到JList模型中。这些字符串来自mysql数据库。
答案 0 :(得分:1)
创建某种可以表示所需值的容器对象,它能够以您想要的格式显示值...
public class ListObject {
private String[] values;
public ListObject(String... values) {
this.values = values;
}
public int size() {
return values == null ? 0 : values.length;
}
public String get(int index) {
return values == null ? null : values[index];
}
public String toString() {
StringBuilder sb = new StringBuilder(64);
if (values != null) {
for (String value : values) {
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(value);
}
}
return sb.toString();
}
}
将包装器对象添加到模型...
while(resultaat.next()){
model.addElement(new ListObject(resultaat.getString(1),
resultaat.getString(2),
resultaat.getString(3)));
}
当您需要时,检索值......
String value = model.getElementAt(index).get(0);
例如
答案 1 :(得分:0)
如何将数据存储在JList中? - 它们实际存储在jList的模型中,因此你必须调用jList.getModel()。getElementAt()只调用jList()。getElement ()
我是否可以通过使用数组将数据彼此分开?是看看我的例子
数据存储在数组中吗?不存在于jList模型中
尝试使用此代码将jlist模型转换为对象数组
// create array with Model size
Object[] arrayOfElements = new Object[yourjList.getModel().getSize()];
// easy loop for adding elements from jList to array
for(int i = 0; i< yourjList.getModel().getSize(); i++){
arrayOfElements[i] = yourjList.getModel().getElementAt(i);
}