包含一个文本框,两个按钮和一个列表框,2个按钮的功能是能够实现对JList的控制,添加(将文本框内字符作为列表框中一项),删除(鼠标单击另一个按钮时,将列表框中被选中的选项清除出列表框),粗略写的如下:import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Event.ActionEvent;
import java.awt.Event.ActionListener;public class add_clean
{
public static void main(String args[])
{
JFrame app = new JFrame("删除添加实例");
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(620,300);
Container c = app.getContentPane();
    c.setLayout(new FlowLayout());
    
    JTextField tField = new JTextField("sun", 8);
    tField.setEditable(false);
    c.add(tField);
    String value = tField.getText();
    
    DefaultListModel listModel = new DefaultListModel();
    JList jlist = new JList(listModel);
    c.add(jlist);
    
    JButton J_button1 = new JButton("添加");
    JButton J_button2 = new JButton("删除");
    J_button[0].addActionListener(new ActionListener()
      {
      
       private void actionPerformed(ActionEvent e)
       {
       JButton J_button1 = (JButton)e.getSource();
       listModel.insertElementAt(value,1);
       }
      }
     );
    c.add(J_button1);
    
    J_button[1].addAcctionListener(new ActionListener()
      {
       private void actionPerformed(ActionEvent e)
       {
       JButton J_button2 = (JButton)e.getSource();
       int index = jlist.getSelectedIndex();
       listModel.removeElementAt(index);
       }
      }
     );
     c.add(J_button2);
     
    app.setVisible(true);
}
}编译没有通过的,哪位仁兄出手帮忙编译修改一下,因为还有几个类似的题要做,谢谢~

解决方案 »

  1.   

    mport javax.swing.DefaultListModel;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JTextField;
    import javax.swing.JButton;
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;public class add_clean {
    public static void main(String args[]) {
    JFrame app = new JFrame("删除添加实例");
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    app.setSize(620, 300);
    Container c = app.getContentPane();
    c.setLayout(new FlowLayout()); final JTextField tField = new JTextField("sun", 8);
    c.add(tField); final DefaultListModel listModel = new DefaultListModel();
    final JList jlist = new JList(listModel);
    jlist.setSize(100, 100);
    c.add(jlist); JButton J_button1 = new JButton("添加");
    JButton J_button2 = new JButton("删除");
    c.add(J_button1);
    c.add(J_button2);
    J_button1.addActionListener(new ActionListener() {
    final String value = tField.getText();
    public void actionPerformed(ActionEvent e) {
    listModel.insertElementAt(value, 0);
    }
    }); J_button2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    int index = jlist.getSelectedIndex();
    listModel.removeElementAt(index);
    }
    }); app.setVisible(true);
    }
    }
      

  2.   

    谢谢,这个例子是照着书写的,没有捕捉异常,修改了一下,就是在import的地方,Event.ActionEvent UltraEdit自动帮我改成了大写,导致引入错误,还有一个就是listmodel的用法,看到你加了final,确实如此
      

  3.   

    import javax.swing.DefaultListModel;
    import javax.swing.JFrame;
    import javax.swing.*;
    import javax.swing.JTextField;
    import javax.swing.JButton;
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;public class TT {
    public TT() {
    JFrame app = new JFrame("删除添加实例");
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    app.setSize(620, 300);
    Container c = app.getContentPane();
    c.setLayout(new FlowLayout()); final JTextField tField = new JTextField("sun", 8);
    c.add(tField); final DefaultListModel listModel = new DefaultListModel();
    final JList jlist = new JList(listModel);
    jlist.setSize(100, 100);
    c.add(jlist); JButton J_button1 = new JButton("添加");
    JButton J_button2 = new JButton("删除");
    c.add(J_button1);
    c.add(J_button2); J_button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
    listModel.insertElementAt(tField.getText(), 0);
    }
    }); J_button2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    int index = jlist.getSelectedIndex();
    if (index < 0) {
    JOptionPane.showMessageDialog(null, "no selected~");
    } else
    listModel.removeElementAt(index);
    }
    });
    app.setVisible(true);
    } public static void main(String args[]) {
    new TT();
    }
    }