使用 JList

Posted

技术标签:

【中文标题】使用 JList【英文标题】:Working with JList 【发布时间】:2014-02-28 20:36:56 【问题描述】:

我有 JList 和 JList 模型,其中包含数据库字段的值(student 表)。

我想从 JList 中获取所有数据并将数据存储在 String 变量调用 mysql

我希望数据像这样存储: -“选择 ” - 然后来自 jList 的数据用逗号分隔 -“来自”

我该怎么做?

这是我到目前为止所做的:

ListModel a = myList.getModel();
String obj = null;
String obj2 = null;
System.out.print("SELECT ");

for (int i = 0; i < a.getSize(); i++) 
  if (i == a.getSize() - 1) 
    obj = (String) a.getElementAt(i);
    System.out.print(obj);
   else 
    obj2 = a.getElementAt(i) + ",";
    System.out.print(obj2);
  

System.out.print(" FROM ");

我把代码改成了这个

    ListModel a = list2.getModel();
    String obj = null;
    String obj2 = null;
  //  System.out.print("SELECT ");

    for (int i = 0; i < a.getSize(); i++) 
        if (i == a.getSize() - 1) 
            obj = (String) a.getElementAt(i);
        //    System.out.print(obj);
         else 
            obj2 = a.getElementAt(i) + ",";
         //   System.out.print(obj2);        
        
                    System.err.println("This is obj2 "+obj2 +"This is obj "+ obj);        


    
   // System.out.print("SELECT "+obj2+obj+" FROM ");

【问题讨论】:

要明确,您希望输出为:“SELECT ele1, ele2, ..., elen FROM”? ele1 到 elen 是您列表中的选定元素? 是的,这正是我想要的 到目前为止你的代码有什么问题? 我想在同一个打印语句中同时打印 obj 和 obj2 ,但是如果我将 system.out.print 放在 if 语句之外我不能得到只有 System.err.println("这是obj2"+obj2+"这是obj"+obj);然后我得到类似这样的结果,没有 SELECT 和 FROM 这是 obj2 STUDENT_ID,这是 obj null 这是 obj2 STUDENT_ID,这是 obj STUDENT_NAME “这是obj2”从何而来? 【参考方案1】:

您是否尝试过将它们添加到字符串中,然后在最后输出?所以像 String text = "SELECT " 然后添加其他字符串 text =+ "whatever"

【讨论】:

是的,我试过只从 JList 模型中得到第一个和最后一个元素 您没有将 obj2 转换为字符串是否有原因? 你应该得到多少元素?看起来没有什么不对。你确定你应该从模型中得到两个以上的元素吗? 是的,我应该得到 5 个元素,但我只得到第一个和最后一个元素.. 我不确定我哪里出错了我认为代码应该可以正常工作,但不是 尝试输出模型的大小以确保。【参考方案2】:

当您想打印“SELECT ele,ele,ele,ele FROM”字符串时,您可能需要以下内容:

ListModel a = myList.getModel();
System.out.print("SELECT ");
for (int i = 0; i < a.getSize(); i++) 
  System.out.print(a.getElementAt(i);
  if (i < a.getSize() - 1) 
    System.out.print(",");
  

System.out.print(" FROM ");

【讨论】:

以上是关于使用 JList的主要内容,如果未能解决你的问题,请参考以下文章

使用拖放重新排序 JList

是否有在JList中使用Enum的方法

JList 右键单击​​显示菜单(使用、删除、取消)

JList 复制选择

使用 DefaultListModel 将项目从 ArrayList 添加到 JList

Jlist详解