从ArrayList获取特定字段

时间:2014-12-09 22:52:01

标签: java user-interface arraylist

我正在设计一个GUI,允许用户向系统添加新的巡航。在此GUI中,用户必须填写一个表格,以便将新巡航存储在系统或我的ArrayList中final ArrayList Cruise = new ArrayList();。然而,我的GUI由一个JList组成,它只显示Cruises的名称。

问题是我正在存储新Cruise并分配了几个字段:

StringBuilder sb = new StringBuilder();
sb.append("\nCruise Name: ").append(NameOfCruise).append("\n");
sb.append("Start Port: ").append(startLValue).append("\n");
sb.append("End Port: ").append(endLValue).append("\n");
sb.append("Start Date: ").append(model1.getValue()).append("\n");
sb.append("End Date: ").append(model.getValue()).append("\n");
sb.append("Assigned to ship: ").append(Shipname).append("\n");
Cruise.add(sb);

当将新巡航添加到系统时,我希望新巡航存储所有细节(巡航名称,起始位置,结束位置等)​​。但是在我的JList上,我只想挑选名称巡航,以便JList只显示NameofCruise。

这就是我创建Jlist的方式以及我如何将新的Cruise对象添加到JList中:

    final ArrayList Cruise = new ArrayList();
    Cruise.add("Scottish to Greek Waters");
    Cruise.add("Greek to Scottish Waters"); 
    Cruise.add(sb);

    JScrollPane scrollPane = new JScrollPane();
    CruiseList = new JList(Cruise.toArray()); 
    scrollPane.setViewportView(CruiseList);
    CruiseList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    CruiseList.setSelectedIndex(-1); 
    CruiseList.setVisibleRowCount(6); 
    listPanel.add(scrollPane);
    Frame1.setVisible(true);

添加Cruise.add(sb);并调用System.out.println(Cruise.toString());正在打印出null。

如何告诉Java只将arraylist中的巡航名称添加到JList?

0 个答案:

没有答案