JList中有一个DefaultModel,你可以通过jlist.getModel()来获得这个Model;
在Model里面调用remove或者add的API接口就可以实现添加和删除。
系统自动的会刷新。

解决方案 »

  1.   

    自己看吧 public JList getJlNo() {
        if (jlNo == null) {
          jlNo = new JList(getDeNo());
          jlNo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
          jlNo.setFixedCellWidth(140);
          jlNo.setFixedCellHeight(25);
          jlNo.setVisibleRowCount(11);
          jlNo.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
              if (e.getClickCount() == 2 && e.getButton() == 1) {
                try {
                  int a = jlNo.getSelectedIndex();
                  getDeYes().addElement(createData(getJlNo().getSelectedValue().
                                                   toString()));
                  getDeNo().removeElementAt(getJlNo().getSelectedIndex());
                  jlNo.setSelectedIndex(a);
                }
                catch (NullPointerException npe) {}
              }
            }
          });
        }
        return jlNo;
      }  public JList getJlYes() {
        if (jlYes == null) {
          jlYes = new JList(getDeYes());
          //getDe().addElement();
          jlYes.setCellRenderer(new CheckListRenderer());
          jlYes.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
          jlYes.setFixedCellWidth(140);
          jlYes.setFixedCellHeight(25);
          jlYes.setVisibleRowCount(11);
          jlYes.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
              if (e.getButton() == 1) {
                try {
                  //((JCheckBox)jlYes.getSelectedValue()).setBackground(jlYes.getSelectionBackground());
                  int index = jlYes.locationToIndex(e.getPoint());
                  CheckableItem item = (CheckableItem) getDeYes().
                      getElementAt(
                      index);
                  item.setSelected(!item.isSelected());
                  Rectangle rect = jlYes.getCellBounds(index, index);
                  jlYes.repaint(rect);
                }
                catch (ArrayIndexOutOfBoundsException aie) {}
              }
              if (e.getButton() == 1 && e.getClickCount() == 2) {
                try {
                  getDeNo().addElement(createData(getJlYes().getSelectedValue().
                                                  toString()));
                  getDeYes().removeElementAt(getJlYes().getSelectedIndex());
    //              CheckableItem item = (CheckableItem) getJlYes().getSelectedValue();
    //                    item.setBackground(true);
                }
                catch (NullPointerException npe) {
                }
              }
            }
          });    }
        return jlYes;
      }  public DefaultListModel getDeYes() {
        if (deYes == null) {
          deYes = new DefaultListModel();
        }
        return deYes;
      }  public DefaultListModel getDeNo() {
        if (deNo == null) {
          deNo = new DefaultListModel();
          for (int a = 0; a < data.length; a++) {
            deNo.addElement(data[a]);
          }
        }
        return deNo;
      }
      

  2.   

    中间用了个list描绘的东西,你不调用就行了
      

  3.   

    看上面那么长的代码,我都晕了。
    做了个简单的给你,有一个添加一个删除,没写事件,你自己弄下吧。
    其实就是实现listmodel接口的子类。import java.awt.*;
    import javax.swing.*;class TextAreaapp extends JFrame
    {
    DefaultListModel AM = new DefaultListModel();
    JList Jl = new JList(AM);
    public TextAreaapp()
    {
    Container con = this.getContentPane();
    con.setLayout(new FlowLayout());
    AM.addElement("aa1");
    AM.addElement("aa2");
    AM.addElement("aa3");
    AM.addElement("aa4");
    con.add(Jl);
    AM.removeElement("aa3");
    this.setSize(200, 200);
    this.setVisible(true);
    }
    public static void main(String args[])
    {
    new TextAreaapp();
    }
    }