我的GUI设计中声明了几个swing组件。我已将大多数组件成功转换为字符串格式,如下所示:

String NameOfCruise = Cruisename.getText().trim(); //JTextField
String startLValue = startL.getSelectedItem().toString(); //JComboBox
String endLValue = endL.getSelectedItem().toString();  // JComboBox
new SimpleDateFormat("dd/MM/yyyy").format(model1.getValue())); //JSpinner
String Shipname = ShipList.getSelectedValue().toString(); // JList


上面组件的目的是构造一个允许用户向系统添加新Cruise的表格。获得上面所有的表单输入后,我想将其存储到ArrayList中。

 ArrayList Cruise = new ArrayList();


但是,我想以这种格式存储它:

Cruise Name: ________
Start Port: _________
End Port: _______
Start Date: _________
End Date: _______
Assigned to ship: ______


这样,如果我可以选择列出系统中的所有巡航,它将显示为一个对象。例如,如果我在ArrayList中有一个Cruise,它将同时显示分配给它的所有详细信息。

有没有办法做到这一点?

最佳答案

您可能会混淆数据及其表示形式。我想象您将在ArrayList<Cruise>中存储Cruise对象,而所有这些保存的都是纯数据,包括字符串,日期等,并且这应该是程序模型的一部分。它的显示方式取决于您的GUI或视图。如果要以提到的格式显示List<Cruise>,则可以在JList中进行显示,例如,让单元格渲染器返回一个JPanel,并用各个Cruise的属性填充适当的字段。

07-24 13:38