【问题标题】:Working with JList使用 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”从何而来?

标签: java swing jdbc jlist string-concatenation


【解决方案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 ");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-07
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多