填空题
本题的功能是对列表项的操作,包括删除、添加和反选。窗口中有两个列表框和5个按钮,按钮标签代表着移除列表项的方向,“>”代表只移除选中的列表项,“>>”代表移除所有的列表项,“!”代表反向选择列表项。 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(0);
); GridBagLayout gbl=new GridBagLayout(); setLayout (gbl); add(ltList, 0,0,1,5,1.0,1.0); add(rtList, 2,0,1,5,1.0,1.0); ltList, addAetionListener(this); ltList, addItemListener(this); rtList, addAetionListener(this); rtList, addhemListener(this); Button b; add(b=new Button(">"), 1,0,1,1,0,1.0); b. addAetionListener(this); add(b=new Button(">>"), 1,1,1,1,0,1.0); b. addAetionListener(this); add(b=new Button("<"), 1,2,1,1,0,1.0); b. addActionListener(this); add(b=new Button("<<"), 1,3,1,1,0,1.0); b. addActionListener(this); add(b=new Button("!"), 1,4,1,1,0,1.0); b. addAetionListener(this); for (int i=0; i<ITEMS; i++) ltList. add("item"+i);
pack(); show();
void add(Component comp, int x, int y, int w, int h, double weightx, double weighty) GridBagLayout gbl=(GridBagLayout)getLayout(); GridBagConstraints c=new GridBagConstraints(); c. fill=GridBagConstraints. BOTH; c. gridx=x; c. gridy=y; c. gridwidth=w; c. gridheight=h; c. weightx=weightx; c. weighty=weighty; add(comp); gbl. setConstraints(comp, c);
else Object target=evt. getSource(); if (target=rtList||target==ltList) replaceItem((List) target, arg);
public void itemStatedChanged(ItemEvent ent) List target=(List)evt. getSource(); if (target==ltList) deselectAll(rtList); else if(target==rtList) deselectAll(ltList)
public static void main(String[] args) new java3()