核心代码:
public class Equipment implements AccessoryComponent{ //设备类实现了组件接口
List<AccessoryComponent> list=new ArrayList<AccessoryComponent>(); //list用来存放组成该设备的零件和设备
public String getDescription(){ //先输出该设备名称,再依次遍历组成该设备的设备和零件的名称
String des = name;
des=des+"(";
for(AccessoryComponent i:list){
des=des+i.getDescription()+" ";
}
des=des+")";
return des;
}
public void add(AccessoryComponent c){ //添加组件
list.add(c);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //往jComboBox1所选设备添加控件
int in1 = jComboBox1.getSelectedIndex();
int in2 = jComboBox2.getSelectedIndex();
list.get(in1).add(list.get(in2));
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { //显示jComboBox1所选设备的信息
int in = jComboBox1.getSelectedIndex();
jTextArea2.setText(list.get(in).getDescription());
}