本题的功能是对列表项的操作,包括删除、添加和反选。窗司中有两个列表框和5个按钮,按钮标签代表着移除列表项的方向,“>”代表只移除选中的列表项,“$amp;>amp;$gt;”代表移除所有的列表项,“!”代表反向选择列表项。 import java.awt.*; import java.awt.event.*; class java3 extends Frame implements ActionListener&ItemListener{ final static int ITEMS=10; List ltList=new List(ITEMS,true); List rtList=new List(0,true); java3{ super('java3'); addWindowListener(new WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(O); } }); GridBagLayout gbl=new GridBagLayout; setLayout(gbl); add(1tList,0,0,1,5,1.0,1.0); add(rtList。2,O,1,5,1.O,1.O); ltList.addActionListener(this); ltList.addhemListener(this); rtList.addActionListener(this); rtList.addhemListener(this); Button b; add(b=new Button('$amp;>quot;$),1,O,1,1,O,1.0); b.addActionListener(this); add(b=new Button('$amp;>amp;>quot;$),1,1,1,1,0,1.O); b.addActionListener(this); add(b=new Button('$amp; =0;i--){ 11.remove(itemlndexes[i]); } } } public void actionPerformed(AetionEvent evt){ String ar9=evt.getActionCommand; if('$amp;>quot;$.equals(arg)){ move(1tList,rtList,false); }else if('$amp;>amp;>quot;$.equals(arg)){ move(1tList,rtList,true); }else if('$amp; 0){ reverseSelections(ltList); }else if(rtList.getSelectedhems.length> 0){ reverseSelections(rtList); } }else{ Object target=evt.getSouree; if(target= =rtList‖target= =ltList){ replacehem((List)target,arg); } } } public void itemStatedChanged(ItemEvent ent){ List target=(List)evt.getSource; if(target= =hList){ deselectAll(rtList); } else if(target= =rtList){ deselectAll(ltList); } } public static void main(String[]args){ new java3; } }