有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JList从JList检索数据

如何从JList中获取3个单独的字符串?如果我使用model.elementAt,我会得到字符串,但它们不会彼此分离

  • 数据如何存储在JList中
  • 我是否可以使用数组将数据彼此分离
  • 数据是否存储在数组中
while(resultaat.next()){
    model.addElement(resultaat.getString(1) + "  "
        + resultaat.getString(2) + "  "
        + resultaat.getString(3));
}

我使用这行代码向JList模型添加了一组字符串。这些字符串来自mysql数据库


共 (2) 个答案

  1. # 1 楼答案

    数据如何存储在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);
                }
    
  2. # 2 楼答案

    创建某种容器对象,它可以表示您想要的值,能够以您想要的格式显示值

    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);
    

    比如说