定义了Jtxtefield  text1  ,JList  list  ,Jbuton  save  。。  
 
 比如我输入  1  在textfield  ,  点击  save  然后list  显示  1    。。  
 
   再输入2  ,点击save    ,list  在  1  下面  显示2    。  
   
可是在  button  的  action  performed  中写的:  
 
                       model.addElement(text1.getText());  
                       list.setModel(model);  
 
             这样写的话 当我 想存入2 的时候 就把1 替换掉了 。。
 如何能够 在 1 的下面  加入2  呢 。。 谢谢 了 。。

解决方案 »

  1.   

    import java.awt.BorderLayout;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;import javax.swing.DefaultListModel;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextField;/**
     * @author ZhangWei
     */
    public class ListTest extends JFrame {    /**
         * serialVersionUID
         */
        private static final long serialVersionUID = -3765296368175099130L;    /**
         * 
         */
        private DefaultListModel model = new DefaultListModel();    /**
         * 
         */
        private JTextField t = new JTextField(20);    /**
         * 
         */
        private JList list = new JList();    /**
         * 
         */
        private JButton b = new JButton("Save");    /**
         * 
         */
        private JScrollPane scroll = new JScrollPane();    /**
         * 
         */
        public ListTest() {
            super();
            this.init();
        }    /**
         * 
         */
        private void init() {
            this.getContentPane().add(this.getMainPanel());
        }    /**
         * @return -
         */
        private JPanel getMainPanel() {
            JPanel panel = new JPanel();
            panel.setLayout(new BorderLayout());
            panel.add(this.t, BorderLayout.NORTH);
            this.list.setModel(this.model);
            this.scroll.setViewportView(this.list);
            panel.add(this.scroll, BorderLayout.CENTER);
            panel.add(this.b, BorderLayout.SOUTH);
            this.b.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(@SuppressWarnings("unused")
                MouseEvent e) {
                    ListTest.this.model.addElement(ListTest.this.t.getText());
                }
            });
            return panel;
        }
    }
      

  2.   

    谢谢 两位  ,,搞清楚了   原来是 DefaultListModel model = new DefaultListModel();  放错地方了  :)